如何使用bitstring读取完整文件

时间:2012-06-05 08:36:44

标签: python bitstring bitstream

我想从文件中读取尽可能多的24位块。 如何使用位串“ ConstBitStream ”来完成此操作 当我现在没有多少块?

目前我这样做:

eventList = ConstBitStream(filename = 'events.dat')
for i in range(1000) :
    packet = eventList.read(24)

(这里我必须预先计算事件的数量)

2 个答案:

答案 0 :(得分:5)

您可以读取,直到生成读取错误异常

try:
    while True:
        packet = eventList.read(24)
except ReadError:
    pass

答案 1 :(得分:3)

捕获ReadError是一个非常好的答案,但另一种方法是改为使用cut方法,它为给定长度的位串返回一个生成器,所以只需

for packet in eventList.cut(24):

应该有用。