Python从Struct或二进制文件中提取文本

时间:2016-09-04 01:16:49

标签: python struct binary extraction

我正在尝试从二进制文件中提取一些文本。除了我想要提取的文本之外,文件中没有太多可读性。我会在这里附上这个文件,但由于它是二进制的,所以它没有多大意义,因为它是不可读的。

我不知道结构的格式,所以我猜我没办法打开它,或者在那里?

我试过这个,但似乎我需要知道字节的位置才能使它工作?

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")

两边都有填充,所以也许我可以使用它来提取文本?

我想知道解决这个问题的最佳方法是什么?

0 个答案:

没有答案