Leyendo una lista almacenada en un archivo de texto

Tengo un archivo cuyo contenido tiene la forma de una lista de python como la siguiente:

['hello','how','are','you','doing','today','2016','10.004'] 

¿Hay alguna manera de volver a leer el archivo de python en un objeto de lista? en lugar de usar .read() y hacer que todo el archivo se lea como una cadena.

EDITAR: para aquellos que puedan estar interesados, me encontré con un problema extraño usando (importar ast) como se sugiere como solución para el problema anterior.

El progtwig en el que lo usé tiene una función que recupera datos históricos de stock del módulo python de yahoo finance. esta función no está relacionada de ninguna manera ni depende de la función que utilizó ast.literal_eval ().

De todos modos, todas las noches, después del cierre del mercado, recojo nuevos lotes de datos históricos de Yahoo Finance y anoche me encontré con un error: simplejson.scanner.jsondecodeerror esperando el valor.

fue extraño porque recostackría datos muy bien para algunas compañías pero arrojaría el error para otras, y en algún momento funcionaría para la misma compañía, pero un minuto después no funcionaría. después de probar todo tipo de cosas para depurar y resolver el problema, recordé que el administrador de importación se agregó recientemente y pensé que debería intentar ver si podía tener algún efecto, después de eliminar el progtwig de importación, el progtwig volvió a funcionar como normalmente lo hacía.

¿Alguien sabe por qué importar ast causó problemas? @Apero ¿por qué advirtió inicialmente contra el uso de eval o ast.literal_eval?

Puedes usar ast.literal_eval() :

 import ast with open('filename.txt', 'r') as f: mylist = ast.literal_eval(f.read()) 
  1. renombra el archivo de ie foo.txt a foo.py
  2. agrega my_list = delante de esa línea
  3. en su código: import foo; l = foo.my_list import foo; l = foo.my_list

Más simple, ¿no? 😉