2017-07-30 90 views
-2

这里是问题:我有一个文件,, file.txt“,它由11个字组成。 好。 现在我的代码:文件的字符串不匹配

with open('/root/file.txt', 'r') as f: 
data = f.readlines() 
print data[10] 

它输出:

Password 

但是,当我进入:

if data[10] == 'Password': 
print 'yes' 
else: 
print 'no' 

它输出:

no 

可我知道为什么?我试图去做,str(data [10])“但我得到相同的输出:不。我能做些什么来获得答案?

+3

尝试'data [10] .strip()==“Password”'。 readlines包含行结束符。 –

+1

每行以换行符“Password \ n''结尾。 – Daniel

+0

请参阅/ questions/15513433/python-readline-string-literal-never-returns-true –

回答

1

readlines()你得到一个列表中的每一行作为列表的成员,这包括\n(返回行代码)。

打印整个列表以查看我在说什么。

with open('/root/file.txt', 'r') as f: 
data = f.readlines() 
print data 

为了避免\n使用此代码:

data[10].strip() == 'Password' 

如果你只需要打印的东西,如果这个词Password就在那里,试试这个代码:

if 'Password' in data[10]: 
    print 'yes' 
+0

谢谢,它工作。 –