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

私はなぜ知っていることができます?私はalredyがやろうとした,, str(data [10]) "しかし、私は同じ出力を得る:いいえ。私はyes答えを得るためにどうすればよいですか?

+3

'data [10] .strip()==" Password "'を試してください。 readlineにはラインターミネータが含まれます。 –

+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

ありがとう、それは働きました。 –

-1

これが起こりますファイル "パスワード"が "パスワード\ n"として保存されているため、

https://i.stack.imgur.com/CcIJ7.png

+0

お返事ありがとうございます。 –

関連する問題