Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想从文件中读取尽可能多的 24 位块。 当我现在不知道有多少块时,如何使用位串的ConstBitStream来做到这一点?
目前我这样做:
eventList = ConstBitStream(filename = 'events.dat') for i in range(1000) : packet = eventList.read(24)
(这里我要预先计算事件的数量)
您可以阅读直到生成 ReadError 异常
try: while True: packet = eventList.read(24) except ReadError: pass
捕捉ReadError是一个非常好的答案,但另一种方法是使用cut方法,该方法返回给定长度的位串的生成器,所以只需
ReadError
for packet in eventList.cut(24):
应该管用。