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/

Responder a