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/