python 位数组与文件之间的转换
我正在使用以下代码将一个大位数组写入文件:
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
它失败,“位”是 NoneType。我做错了什么?
I'm writing a large bitarray to a file using this code:
import bitarray
bits = bitarray.bitarray(bin='0000011111') #just an example
with open('somefile.bin', 'wb') as fh:
bits.tofile(fh)
However, when i attempt to read this data back using:
import bitarray
a = bitarray.bitarray()
with open('somefile.bin', 'rb') as fh:
bits = a.fromfile(fh)
print bits
it fails with 'bits' being a NoneType. What am i doing wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为“a”就是你想要的。 a.fromfile(fh) 是一种用 fh 的内容填充 a 的方法:它不返回位数组。
I think "a" is what you want. a.fromfile(fh) is a method which fills a with the contents of fh: it doesn't return a bitarray.
我认为 fromfile() 方法不会返回任何内容。这些值存储在位数组“a”中。
I think the fromfile() method doesn't return anything. The values are stored in your bitarray 'a'.