我的文件包含几行文字。 我在代码中以这种方式打开文件:
final = codecs.open("info", 'r', 'utf-8')
lines = final.readlines()
然后我想找到确切的行:
if 'Edytuj'.join('\n') in lines:
#rest of code
我知道该文件包含'Edytuj'
但该语句始终为False
,我在某处犯了错误吗?
答案 0 :(得分:3)
您是否看过'Edytuj'.join('\n')
返回的内容? (它返回'\n'
,因为你正在加入一个长度为1的迭代。我猜这不是你的意思。
您希望该测试究竟做什么?
也许你的意思是:
if any('Edytuj' in line for line in lines):
pass #...
或可能:
if 'Edytuj\n' in lines:
答案 1 :(得分: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
。