How to read complete file with bitstring

I want to read as many 24 bit chunks as possible from a file.
How can I do this using bitstrings’ ConstBitStream
when I don’t now how many chunks there are?

Currently I do this:

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

(here I have to calculate the number of events beforehand)

Best answer

You could read until an ReadError exeption is generated

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