2017-07-30 76 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

謝謝,它工作。 –