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

问题描述 投票:1回答:1

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

我尝试以文本文件形式(不是二进制模式)打开文件,并且未将字符串设为二进制,但这给了我用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)
python python-3.x file binaryfiles
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.