2012-06-05 35 views
5

Bir dosyadan mümkün olduğunca çok 24 bit parça okumak istiyorum. Şimdi, kaç tane parça olup olmadığımı gösterdiğimde, bu bitstrings 'ConstBitStream kullanarak nasıl yapabilirim? ŞuBit dosya ile tam dosya nasıl okunur

Bunu yapmak:

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

(burada etkinliklerinin sayısını önceden hesaplamak gerekir) bir ReadError exeption yakalamak

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

cevap

4

ReadError mükemmel bir yanıttır, ancak başka bir yol, verilen uzunluktaki bitstrings için bir jeneratör döndüren cut yöntemini kullanmaktır. Bu nedenle sadece

çalışmalıdır.

+0

'ReadError' bir' bitstring' istisnasıdır. Ya 'bitstring'den içe aktarılmalı ya da' bitstring.ReadError' olarak kullanılmalıdır. – TheMeaningfulEngineer

3

oluşturulana kadar Sen okuyabilir

+0

Çok uygun çözüm, teşekkürler! – HWende

İlgili konular