我想从.txt
文件中读取,该文件的数据以列表格式保存。
['http://www.example.com/?date=20080301',
'http://www.example.com/?date=20080302',
'http://www.example.com/?date=20080303']
我有以下代码:
with open("test.txt", 'r') as file_name:
for urls in file_name:
for url in eval(urls):
print url
它与完全一致的文件(只有不同的链接)运行良好,现在突然之间,它引发了一个例外:
File "<string>", line 1
['http://www.example.com/?date=20080301',
^
SyntaxError: unexpected EOF while parsing
你有什么想法吗?
答案 0 :(得分:3)
import ast
with open("test.txt", 'r') as file_name:
lists = ast.literal_eval(file_name.read())
for url in lists:
print url
它比使用eval
更有效率,因为并引用文档,它“安全地评估[s]表达式节点或包含Python表达式的字符串。”