在二进制文件中找不到二进制文本

时间:2020-05-18 00:57:19

标签: python python-3.x file binaryfiles

我以二进制模式打开了一个文件。我需要在此文件中找到某个字符串,然后在其后打印该行。但是,在文本文件中似乎找不到该字符串。我手动查看了文本文件,该字符串肯定在一行中。

我尝试将文件打开为文本文件(非二进制模式),并且未将字符串设为二进制,但这给了我用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)

1 个答案:

答案 0 :(得分:0)

好的。所以。显然.readlines()起作用了。我只需要阅读所有行,然后遍历它们即可。找到其中包含字符串的字符串,调用该索引并添加一个以找到下一行。