Foros del Web » Programando para Internet » Python »

leer lista desde un archivo

Estas en el tema de leer lista desde un archivo en el foro de Python en Foros del Web. Hola. Tengo grabado en un archivo una lista, que contiene listas a su vez. Pero a la hora de leer, lo recibe como un tipo ...
  #1 (permalink)  
Antiguo 29/12/2011, 07:31
 
Fecha de Ingreso: enero-2010
Ubicación: Madrid/España
Mensajes: 89
Antigüedad: 14 años, 11 meses
Puntos: 3
leer lista desde un archivo

Hola. Tengo grabado en un archivo una lista, que contiene listas a su vez. Pero a la hora de leer, lo recibe como un tipo string, y al convertirlo a list, evidentemente, convierte cada caracter de la cadena de texto en un elemento de la lista. Esto no es evidentemente lo que quiero. ¿Hay alguna forma de obtener el tipo directamente como una lista?

Esta es la lista original que hay en el archivo:
Código Python:
Ver original
  1. [{'INFO': u'user', 'ROWS': 5, 'VERSION': 0.2, 'TYPE': 'USER'}, [[1, u'2011-10-01/17:02:13', 4.97], [2, u'2011-12-28/18:02:07', 63], [3, u'2011-12-28/18:02:18', 62], [4, u'2011-12-28/18:10:01', 66], [5, u'2011-12-28/18:10:09', 66]]]

Ejecuto la lectura:
Código Python:
Ver original
  1. archivo = open(fpath,"r")
  2. lines = list(archivo.read())
  3. archivo.close()

Obtengo una lista de este tipo:
Código Python:
Ver original
  1. ['[', '{', "'", 'I', 'N', 'F', 'O', "'", ':', ' ', 'u', "'", 'u', 's', 'e', 'r', "'", ',', ' ', "'", 'R', 'O', 'W', 'S', "'", ':', ' ', '5', ',', ' ', "'", 'V', 'E', 'R', 'S', 'I', 'O', 'N', "'", ':', ' ', '0', '.', '2', ',', ' ', "'", 'T', 'Y', 'P', 'E', "'", ':', ' ', "'", 'U', 'S', 'E', 'R', "'", '}', ',', ' ', '[', '[', '1', ',', ' ', 'u', "'", '2', '0', '1', '1', '-', '1', '0', '-', '0', '1', '/', '1', '7', ':', '0', '2', ':', '1', '3', "'", ',', ' ', '4', '.', '9', '7', ']', ',', ' ', '[', '2', ',', ' ', 'u', "'", '2', '0', '1', '1', '-', '1', '2', '-', '2', '8', '/', '1', '8', ':', '0', '2', ':', '0', '7', "'", ',', ' ', '6', '3', ']', ',', ' ', '[', '3', ',', ' ', 'u', "'", '2', '0', '1', '1', '-', '1', '2', '-', '2', '8', '/', '1', '8', ':', '0', '2', ':', '1', '8', "'", ',', ' ', '6', '2', ']', ',', ' ', '[', '4', ',', ' ', 'u', "'", '2', '0', '1', '1', '-', '1', '2', '-', '2', '8', '/', '1', '8', ':', '1', '0', ':', '0', '1', "'", ',', ' ', '6', '6', ']', ',', ' ', '[', '5', ',', ' ', 'u', "'", '2', '0', '1', '1', '-', '1', '2', '-', '2', '8', '/', '1', '8', ':', '1', '0', ':', '0', '9', "'", ',', ' ', '6', '6', ']', ']', ']']

gracias de antemano
  #2 (permalink)  
Antiguo 29/12/2011, 07:44
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 6 meses
Puntos: 310
Respuesta: leer lista desde un archivo

Prueba con json.loads, aunque quizás debas cambiar las comillas de los strings a dobles en vez de simples, si no encuentras alguna forma de poder cambiar la manera en que trabaja el parser.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #3 (permalink)  
Antiguo 29/12/2011, 09:42
 
Fecha de Ingreso: enero-2010
Ubicación: Madrid/España
Mensajes: 89
Antigüedad: 14 años, 11 meses
Puntos: 3
Respuesta: leer lista desde un archivo

Gracias. Leyendo la documentación de python de json lo he arreglado (http://docs.python.org/library/json.html)
  #4 (permalink)  
Antiguo 30/12/2011, 21:54
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: leer lista desde un archivo

Tambien puedes usar cPickle lo mismo que json pero para python.

Etiquetas: list, read, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:45.