Python从文本文件加载列表中的列表

新手上路,请多包涵

我想从文本文件中加载列表中的列表。我经历了很多例子,但没有解决方案。这就是我想做的我是 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]]

我的清单包含

'abc','def',1
'ghi','jkl',2
'mno','pqr',3

我想要的是当我访问列表时 print mainlist[0] 应该返回

'abc','def',1

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

原文由 user2330294 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 353
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 元组……由于它的通用性和简单性,这可能不是 最快 的方法。

原文由 mgilson 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏