我以二进制模式打开了一个文件。我需要在此文件中找到某个字符串,然后在其后打印该行。但是,在文本文件中似乎找不到该字符串。我手动查看了文本文件,该字符串肯定在一行中。
我尝试将文件打开为文本文件(非二进制模式),并且未将字符串设为二进制,但这给了我用this question解决的错误。该问题的答案导致了以下(和当前)代码。
with open(os.path.join(directory, filename), 'rb') as read_obj:
# print(read_obj.read())
for line in read_obj:
line_number += 1
if b"PREPARED FOR" in line:
break
print(line_number)
答案 0 :(得分:0)
好的。所以。显然.readlines()
起作用了。我只需要阅读所有行,然后遍历它们即可。找到其中包含字符串的字符串,调用该索引并添加一个以找到下一行。