【发布时间】:2012-08-11 06:02:22
【问题描述】:
我编写了一个程序,它使用 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()”的打印为空。 但是,标题的打印很好。
【问题讨论】: