阅读存储在文本文件中的列表

时间:2016-03-24 21:05:57

标签: python string list python-2.7 file

我有一个文件,其内容采用python列表的形式,如下所示:

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

有没有办法将python文件读回列表对象?而不是使用.read()并将整个文件作为字符串读取。

编辑:对于那些可能感兴趣的人,我使用(导入ast)遇到一个奇怪的问题,建议作为上述问题的解决方案。

我使用它的程序有一个从yahoo finance python模块获取历史股票数据的函数。此函数与使用ast.literal_eval()的函数无关或依赖于该函数。

无论如何,每天晚上收市后我都会收集来自雅虎财经的新批次历史数据,昨晚我遇到了一个错误:simplejson.scanner.jsondecodeerror期待价值。

这很奇怪,因为它会为某些公司收集数据,但会为其他公司抛出错误,有时会为同一家公司工作,但一分钟之后就无法运行。在尝试各种事情来调试和解决问题之后,记得最近添加了导入ast,并且认为我应该尝试查看它是否会产生影响,在删除导入后,程序恢复正常工作。

有人知道为什么导入导致问题吗? @Apero为什么最初警告不要使用eval或ast.literal_eval?

2 个答案:

答案 0 :(得分:10)

您可以使用ast.literal_eval()

import ast

with open('filename.txt', 'r') as f:
    mylist = ast.literal_eval(f.read())

答案 1 :(得分:5)

  1. 将文件从 foo.txt 重命名为 foo.py
  2. 在该行前面添加my_list =
  3. 代码中的
  4. import foo; l = foo.my_list
  5. 更简单,不是吗? ; - )