ayuda en archivos

Hernan Foffani hernan en orgmf.com.ar
Vie Ene 30 18:45:48 CET 2004


Manuel Ricardo Almanzar escribio:
> hola,
> necesito una ayuda, leo un archivo binario con read(4) ya que tengo
> que leer los 4 primeros bytes.
>>>> tmp=arch.read(4)
>>>> tmp
> '\x00\x00\x01R'
>>>> print tmp
>>>>
> dice que tmp es una cadena de caracteres vacia....
> el problema es que necesito utilizar este valor en decimales, como lo
> hago?

usa el paquete struct de la biblioteca estandar.  por ejemplo:

  >>> import struct
  >>> tmp = '\x00\x00\x01R'
  >>> tmp
  '\x00\x00\x01R'
  >>> struct.unpack("!i", tmp)
  (338,)
  >>>

deberás leer la documentacion del paquete porque tienes que saber
como se generaron los datos (si es big-endian o little-endian, etc.)
y utilizar el formato apropiado para tu caso (en mi ejemplo "!i".)

saludos,
-Hernan




Más información sobre la lista de distribución Python-es