我正在使用以下代码向文件写一个大的比特阵列:
import bitarray
bits = bitarray.bitarray(bin='0000011111') #just an example
with open('somefile.bin', 'wb') as fh:
bits.tofile(fh)
但是,当我尝试使用以下方法读取此数据时:
import bitarray
a = bitarray.bitarray()
with open('somefile.bin', 'rb') as fh:
bits = a.fromfile(fh)
print bits
失败,'bits'为NoneType。我做错了什么?
答案 0 :(得分:7)
我认为“a”就是你想要的。 a.fromfile(fh)是一个用fh的内容填充a的方法:它不返回一个bitarray。
>>> import bitarray
>>> bits = bitarray.bitarray('0000011111')
>>>
>>> print bits
bitarray('0000011111')
>>>
>>> with open('somefile.bin', 'wb') as fh:
... bits.tofile(fh)
...
>>> a = bitarray.bitarray()
>>> with open('somefile.bin', 'rb') as fh:
... a.fromfile(fh)
...
>>> print a
bitarray('0000011111000000')
答案 1 :(得分:1)
我认为 fromfile()方法不会返回任何内容。这些值存储在您的bitarray' a '。
中