我以二进制模式打开了一个文件。我需要在此文件中找到某个字符串并打印该行。但是,在文本文件中似乎找不到该字符串。我手动查看了文本文件,字符串肯定在一行上找到。
我尝试将文件作为文本文件(不是二进制模式(打开并且不使字符串二进制,但这给出了一个错误,我用这个问题解决了。关于这个问题的答案导致了以下(和当前(代码。
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)
好的,所以。 显然.readlines()
工作了。我只需要阅读所有行,循环播放它们。找到包含字符串的那个,调用该索引并添加一个索引以查找下一行。