quiero leer un byte de archivos a byte y comprobar si el último bit de cada byte se establece:Lectura e interpretación de los datos de un archivo binario en Python
#!/usr/bin/python
def main():
fh = open('/tmp/test.txt', 'rb')
try:
byte = fh.read(1)
while byte != "":
if (int(byte,16) & 0x01) is 0x01:
print 1
else:
print 0
byte = fh.read(1)
finally:
fh.close
fh.close()
if __name__ == "__main__":
main()
El error que consigo es:
Traceback (most recent call last):
File "./mini_01.py", line 21, in <module>
main()
File "./mini_01.py", line 10, in main
if (int(byte,16) & 0x01) is 0x01:
ValueError: invalid literal for int() with base 16: '\xaf'
¿Alguien una idea? No tuve éxito usando los módulos struct y binascii.
Lea http://stackoverflow.com/questions/306313/python-is-operator-behaves-unexpectedly-with-integers antes de obtener * this * funcionando y abra una trampa de * esa * pregunta;) – delnan