El mié., 27 ene. 2016 a las 17:28, Chema Cortes (<pych...@gmail.com>) escribió:
> 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') > Creo que he tomado mal los valores hexadecimales de la pregunta original. Para escribir un '!' en un fichero binario se usaría directamente b'!' with open(ficheroLeer, 'r+b') as f: f.seek(1) f.write(b'!') > > > > >> >> >> 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 > -- 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/