def bits_from_char(c):
    i = ord(c)
for dummy in range(8):
    yield i & 1
i >>= 1

def bits_from_data(data):
    for c in data:
        for bit in bits_from_char(c):
            yield bit
for bit in bits_from_data(data):
    pass
Получение необработанного двоичного представления файла в Python