0

数行のテキストを含むファイルがあります。コードでこの方法でファイルを開きます。

final = codecs.open("info", 'r', 'utf-8')
lines = final.readlines()

次に、正確な行を見つけたい:

if 'Edytuj'.join('\n') in lines:
#rest of code

ファイルに含まれていることは知っていますが'Edytuj'、そのステートメントは常にFalseです。どこかで間違いを犯していますか?

4

2 に答える 2

3

'Edytuj'.join('\n')何が返ってくるか見てきましたか?'\n'(長さ1のイテラブルに参加しているので戻ります)。それはあなたがやろうとしていたことではないと思います。

そのテストで正確に何をしたいですか?

多分あなたは意味しました:

if any('Edytuj' in line for line in lines):
   pass #...

またはおそらく:

if 'Edytuj\n' in lines:
于 2012-09-26T20:15:30.320 に答える
0
with codecs.open("info", 'r', 'utf-8') as file:
    for line in file:
        if u'Edytuj\n' == line: # match full line
           #rest of code

if u'Edytuj' in line行に他のコンテンツがある可能性がある場合に使用できます。

于 2012-09-26T20:24:45.963 に答える