我正在尝试从二进制文件中提取一些文本。除了我想要提取的文本之外,文件中没有太多可读性。我会在这里附上这个文件,但由于它是二进制的,所以它没有多大意义,因为它是不可读的。
我不知道结构的格式,所以我猜我没办法打开它,或者在那里?
我试过这个,但似乎我需要知道字节的位置才能使它工作?
with open('hello', 'rb') as f:
f.seek(1)
bytes = f.read(3)
string = struct.unpack('s', bytes)
print st
我可以看到二进制文件中的文本,所以我确定必须有一些合理的方法来提取它?
我尝试了这个,但它出现了错误,说没有字符串可以使用
import sys
import re
print 'asd'
chars = r"A-Za-z0-9/\-:.,_$%'()[\]<> "
shortest_run = 4
regexp = '[%s]{%d,}' % (chars, shortest_run)
pattern = re.compile(regexp)
def process(stream):
f = open(stream, 'rb')
data = f.read()
return pattern.findall(data)
if __name__ == "__main__":
for found_str in process(sys.stdin):
print found_str
process("c:/mytextfile")
两边都有填充,所以也许我可以使用它来提取文本?
我想知道解决这个问题的最佳方法是什么?