ファイルからできるだけ多くの 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メソッドを使用する方法もあります。これは、指定された長さのビット文字列のジェネレーターを返します。
for packet in eventList.cut(24):
動作するはずです。