Python 从二进制文件读取可变长度字符串

Python 从二进制文件读取可变长度字符串,python,binaryfiles,Python,Binaryfiles,我有一个二进制文件,它首先包含一个列有冒号类型的头文件,然后是数据。一个典型的例子如下所示: 8Byte表示双精度,8Byte表示双精度,4Byte表示int32 该序列重复几次(在10k和20M之间)。 这可以通过以下方式轻松阅读: numpy.fromfile(文件id,dtype=(('A':')查看: 我想我对这个问题的措辞有点混乱。很抱歉。我遇到的问题是,对于每个实例,每个条目的字符长度都不同。读取字符串时,字符串的形式是str=('bla','blabla','bl',…) # ex

我有一个二进制文件,它首先包含一个列有冒号类型的头文件,然后是数据。一个典型的例子如下所示:

8Byte表示双精度
8Byte表示双精度
4Byte表示int32

该序列重复几次(在10k和20M之间)。 这可以通过以下方式轻松阅读:

numpy.fromfile(文件id,dtype=(('A':')查看:


我想我对这个问题的措辞有点混乱。很抱歉。我遇到的问题是,对于每个实例,每个条目的字符长度都不同。读取字符串时,字符串的形式是
str=('bla','blabla','bl',…)
# example taken from [illuminate][2] 
from bitstring import BitString

bs = BitString(bytes=open(bitstring_or_filename, 'rb').read())
recordlen = bs.read('uintle:8')  # length of each record

# 206 * 8 = 1648 record  length in bits
for i in range(0,((bs.len) / (recordlen * 8))):
    # ....