[pyar] leer archivo binario

Facundo Batista facundobatista en gmail.com
Mar Mar 8 11:22:40 ART 2011


2011/3/8 Leandro De Lorenzi <leledelorenzi en gmail.com>:

> Tengo un problema: Necesito leer un fichero cualquiera en formato binario.
> Pero binario en unos y ceros, no el binario en símbolos, como se logra con
> open("fichero","rb"),

Más allá que hay como una confusión con respecto a lo que estás
leyendo o mostrando (vaya uno a saber qué significa "binario en
símbolos"), podés hacer esto para leer un archivo y tener los valores
en 0s y 1s:

Grabamos algo en un archivo de prueba:

>>> f = open('test.txt', 'w')
>>> f.write('123')
>>> f.close()

Leemos y pasamos a bin:

>>> f = open('test.txt')
>>> ''.join(string.zfill(bin(ord(x))[2:],8) for x in f.read())
'001100010011001000110011'

Grabé a propósito '123' para que veas la diferencia entre leer números
y texto: el '1', por ejemplo, no tiene el valor binario '00000001',
sino '00110001', o sea 49, el valor ascii del caracter '1'.

Slds.

-- 
.    Facundo

Blog: http://www.taniquetil.com.ar/plog/
PyAr: http://www.python.org/ar/



More information about the pyar mailing list