El Miércoles, 27 de enero de 2016 15:40:59 Pixu Kideak escribió:
> Buenos días,
> 
> Estoy trabajando con ficheros binarios pero tengo una duda.
> 
> Lo primero que hago en mi programa es buscar un valor en el fichero, a
> partir de esa posición  muevo el puntero X posiciones y me interesaria
> escribir cierto valor binario y/o HEX en esa posición.
> 
> He intentado con:
> 
> ficheroLeer = '/ruta/mi/fichero.bin'
> archivo = open(ficheroLeer,'r+b')
> ...
> archivo.seek(1) #Esta es la posición en la que me interesa modificar el
> contenido.
> archivo.write(21) #Digamos que quiero escribir ! - que HEX es 21 - en esa
> dirección.
> 
> Pero no consigo escribirlo puesto que parece que write recibe sólo
> variables de tipo str.
> 
> ¿Cómo podría escribir HEX21 en el fichero?
> 
> Un saludo y gracias por vuestra ayuda ;-)

Yo lo he tenido que hacer usando el módulo struct, se empaquetan las 
variables dependiendo del tipo que tengan y entonces se escriben.

Por ejemplo para dos numeros reales y dos enteros

txt = struct.pack('2d2i',float1,float2,int1,inte2)
archivo.write(txt)

--
Jaime Perea
_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a