我有一个包含列表的python文件。
localhost tmp]$ cat 1.txt
['aaaaaaa','bbbbbbb','cccccc','dddddddd']
我想阅读列表中的每个元素。我得到的每个角色都是。 如果它被声明为列表变量,我可以读取列表的每个值,但我的列表在文本文件中。
#!/usr/bin/python
def get_vminfo(vms):
for vm in vms:
print vm
#vms=['aaaaaaa','bbbbbbb','cccccc','dddddddd']
with open('1.txt','r') as input:
vms=input.read()
get_vminfo(vms)
如何打印每个列表值???
答案 0 :(得分:1)
>>> import ast
>>> with open('1.txt') as f:
... ast.literal_eval(f.read())
...
['aaaaaaa', 'bbbbbbb', 'cccccc', 'dddddddd']
>>> with open('1.txt') as f:
... for x in ast.literal_eval(f.read()):
... print x
...
aaaaaaa
bbbbbbb
cccccc
dddddddd
答案 1 :(得分:0)
这适用于较小的文件。请记住,数据存储在计算机的内存中,因为它构建了一个数据数组,因此,如果您要处理大文件,那么使用迭代器代替这种方法会更好。
遗憾的是,在迭代器中,您无法访问已读取的数据。