【问题标题】:How to read complete file with bitstring如何使用位串读取完整的文件
【发布时间】:2012-06-05 08:36:44
【问题描述】:

我想从文件中读取尽可能多的 24 位块。 如何使用位串的 ConstBitStream 做到这一点 当我现在不知道有多少块时?

目前我这样做:

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

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

【问题讨论】:

    标签: python bitstring bitstream


    【解决方案1】:

    在产生 ReadError 异常之前,您可以阅读

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

    【讨论】:

    • ReadErrorbitstring 异常。它必须从bitstring 导入或用作bitstring.ReadError
    【解决方案2】:

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

    for packet in eventList.cut(24):
    

    应该可以。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-22
      • 1970-01-01
      • 2022-11-15
      • 2015-11-17
      • 1970-01-01
      • 2018-11-10
      • 1970-01-01
      • 2011-07-24
      相关资源
      最近更新 更多