6

ファイルからできるだけ多くの 24 ビット チャンクを読み取りたい。 チャンクの数がわからない場合、ビット文字列のConstBitStreamを使用してこれを行うにはどうすればよいですか?

現在、私はこれを行います:

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

(ここでは、事前にイベントの数を計算する必要があります)

4

2 に答える 2

5

ReadError 例外が生成されるまで読み取ることができます

try:
    while True:
        packet = eventList.read(24)
except ReadError:
    pass
于 2012-06-05T08:50:09.663 に答える
3

をキャッチすることReadErrorは完全に良い答えですが、代わりにcutメソッドを使用する方法もあります。これは、指定された長さのビット文字列のジェネレーターを返します。

for packet in eventList.cut(24):

動作するはずです。

于 2012-06-05T09:40:56.037 に答える