我编写了一个程序,它使用 bitarray 0.8.0 将位写入二进制文件。我想在这个二进制文件中添加一个标题来描述文件里面的内容。
我的问题是我认为bitarray的“fromfile”方法必须从头开始读取文件。我可以做一个解决方法,以便读取程序获取标题,然后重写一个仅包含二进制部分的临时文件(bitarray tofile),但这听起来不太有效。
有没有办法正确地做到这一点?
我的文件可能如下所示,其中明文是标题,二进制数据是位数组信息:
...{(0, 0): '0'}{(0, 0): '0'}{(0, 0): '0'}�������������� ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ��������...
编辑:
阅读回复后,我尝试了以下操作:
bits = ""
b = bitarray()
with open(Filename, 'rb') as file:
#Get header
byte = file.read(1)
while byte != "":
# read header
byte = file.read(1)
b.fromfile(file)
print b.to01()
print "len(b.to01())", len(b.to01())
长度为 0,“to01()”的打印为空。但是,标题的打印很好。