Estoy tratando de leer un archivo BMP en Python. Sé que los primeros dos bytes indican la firma BMP. Los siguientes 4 bytes son el tamaño del archivo. Cuando excecute:Lectura de enteros del archivo binario en Python
fin = open("hi.bmp", "rb")
firm = fin.read(2)
file_size = int(fin.read(4))
consigo
ValueError: invalid literal for int() with base 10: 'F#\x13'
Lo que quiero hacer es leer esos cuatro bytes como un entero ... Parece Python ellas es la lectura como caracteres y devolver una cadena, que no se puede convertir a un número entero. ¿Cómo puedo hacer esto correctamente?
Si su objetivo es * utilizar * el mapa de bits en lugar de perder tiempo escribiendo su propia biblioteca BMP (no es que eso no suene divertido ...) puede usar PIL http://www.pythonware.com/ productos/pil/que posiblemente ya tengas instalados. Pruebe: importar imagen –
Gracias Jared, pero quería leer el bmp manualmente solo para divertirme! :) –