我想从文本文件中的列表中加载列表。我经历了很多例子,但没有解决方案。这就是我要做的
我是python的新手

def main()
    mainlist = [[]]
    infile = open('listtxt.txt','r')
    for line in infile:
        mainlist.append(line)

    infile.close()

    print mainlist

`[[],['abc','def', 1],['ghi','jkl',2]]`

但是我想要的是这样的
[['abc','def',1],['ghi','jkl',2]]

我的 list 包含
'abc','def',1
'ghi','jkl',2
'mno','pqr',3

我想要的是访问列表时print mainlist[0]应该回来
'abc','def',1

任何帮助将不胜感激
谢谢,

最佳答案

在我看来,您可以这样做:

from ast import literal_eval
with open('listtxt.txt') as f:
    mainlist = [list(literal_eval(line)) for line in f]

这是确保保留元素类型的简便方法。例如像这样的行:
"foo","bar",3

将转换为2个字符串和一个整数。当然,这些行本身也需要格式化为python元组...并且由于其通用性和简单性,这可能不是最快的方法。

10-04 20:13