El mié., 27 ene. 2016 a las 16:29, Pixu Kideak (<pixukid...@gmail.com>) escribió:
> Estoy con la versión Python 3.5.0 > with open(ficheroLeer, 'r+b') as f: f.seek(1) f.write(bytes([21]) Según lo que sea, también podrías usar "literarles": with open(ficheroLeer, 'r+b') as f: f.seek(1) f.write(b'\x15') > > > 2016-01-27 16:21 GMT+01:00 Chema Cortes <pych...@gmail.com>: > >> >> >> El mié., 27 ene. 2016 16:12, Pixu Kideak <pixukid...@gmail.com> escribió: >> >>> " >>> yo intentaría leer el fichero en memoria, cambiaría alli los datos y >>> luego volvería a escribir el fichero. Los discos no pueden escribir "un >>> byte". >>> >>> " >>> Cuando se esta realizando la asignación archivo = open(ficheroLeer, >>> 'r+b') ¿no se estaría trabajando contra el objeto "archivo" qué está en >>> memoria? >>> O por el contrario, ¿te refieres a volcar todo el contenido del fichero >>> en una lista y trabajar contra ésta; una vez finalizado volcar de nuevo el >>> contenido de la lista al fichero? >>> >> >> No hace falta bajar tanto de nivel. Lo más seguro es que Python >> sobrescriba el fichero completo en disco, pero eso no debe preocuparte. >> >> Lo que si es importante es saber si usas python3. Los ficheros binarios >> usan el tipo bytes y, por lo que dices, no lo estas usando. >> >> >>> Un saludo y gracias, >>> >>> 2016-01-27 16:00 GMT+01:00 Juan Ignacio <euriba...@gmail.com>: >>> >>>> yo intentaría leer el fichero en memoria, cambiaría alli los datos y >>>> luego volvería a escribir el fichero. Los discos no pueden escribir "un >>>> byte". >>>> >>>> 2016-01-27 14:40 GMT+00:00 Pixu Kideak <pixukid...@gmail.com>: >>>> >>>>> 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 ;-) >>>>> >>>>> _______________________________________________ >>>>> Python-es mailing list >>>>> Python-es@python.org >>>>> https://mail.python.org/mailman/listinfo/python-es >>>>> FAQ: http://python-es-faq.wikidot.com/ >>>>> >>>>> >>>> >>>> >>>> -- >>>> Juan Ignacio Rodríguez de León >>>> Móvil: 605 890514 >>>> E-Mail: euriba...@gmail.com >>>> http://www.elornitorrincoenma >>>> <http://www.elornitorrincoenmascarado.com/>scarado.com/ >>>> <http://www.elornitorrincoenmascarado.com/> >>>> http://descon2.com/ >>>> >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es@python.org >>>> https://mail.python.org/mailman/listinfo/python-es >>>> FAQ: http://python-es-faq.wikidot.com/ >>>> >>>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es@python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >> -- >> Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": >> http://ch3m4.org/blog >> >> _______________________________________________ >> Python-es mailing list >> Python-es@python.org >> https://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > _______________________________________________ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/