我有一些大的二进制文件,需要在其中搜索特定的字节序列,例如:
find_bytes = bytearray(base64.b16decode('a226fb42'))
with open(filename, "rb") as f:
file_bytes = bytearray(f.read())
found_pos = file_bytes.find(find_bytes, 0)
这个方法很好,但现在我想指定一个特定的字节值(比如00或FF)作为通配符来匹配任何字节,例如
a2000042
应该匹配以a2
开头、以42
结尾的任何4字节序列。
有没有办法扩展find
方法来实现这一点,或者有更好的解决方案?
使用Python 2.7,但如果需要可以切换。