我有一个像这样的文件(myfile)
['user1', 1,2]
['user2',5,1]
['user3',1,2]
我想迭代文件中列表中的每个项目。我的代码如下
with open(myfile) as f:
for line in f:
for items in list(line):
print(items)
它打印每个字符而不是每个单词。请帮忙。
最佳答案
您将这些行作为字符串而不是列表来读取。为了提高安全性,eval()
或 ast.literal_eval()
应该在这里实现:
with open(myfile) as f:
for line in f:
for items in eval(line):
print(items)
或更安全(感谢@JaredGoguen):
import ast
with open(myfile) as f:
for line in f:
for items in ast.literal_eval(line):
print(items)
希望有帮助!
关于Python 3.4 : Lists stored in a file - Iterating over characters instead of list items,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37240423/