gpt4 book ai didi

Python - 从文件中读取先前的 'list' 变量

转载 作者:太空狗 更新时间:2023-10-30 00:30:07 25 4
gpt4 key购买 nike

我之前创建了一个 list并将其保存到文件“mylist.txt”中。但是,当我读入它时,它是一个字符串,这意味着我无法随心所欲地访问每个元素。我一直在尝试并寻找解决此问题的方法,但无济于事。

在文本文档中,列表是一行,看起来像这样:

[(['000', '001', '002'], ('010', '011', '012')), (['100', '101', '102'], ('110', '111', '112'))]

所以如果这个列表等于mylist , 我可以做

>>> print mylist[0]
(['000', '001', '002'], ('010', '011', '012'))
>>> print mylist[0][0]
['000', '001', '002']
>>> print mylist[0][0][2]
002

等等

上面对我有用,但是读入列表有如下效果:

>>>myreadlist=open("mylist.txt",'r').read()
>>>myreadlist
"[(['000', '001', '002'], ('010', '011', '012')), (['100', '101', '102'], ('110', '111', '112'))]"
>>>myreadlist[0]
'['
>>>print myreadlist[0]
[
>>>myreadlist[:15]
"[(['000', '001'"

等我知道 mylist 的格式不好,但它可以满足我的需求,而且生成它需要很长时间。我试过将列表复制粘贴到 python,如 mylist = <paste> ,但列表太长,我收到内存错误。

有没有办法读取文件并将其用作 list这样我就可以像平常一样访问每个元素(即如上面第一个打印语句所示)?

非常感谢

最佳答案

将字符串传递给ast.literal_eval .它会安全地将字符串解析为适当的结构:

>>> import ast
>>> with open("file.txt", 'r') as f:
data = ast.literal_eval(f.read())
>>> # You're done!

关于Python - 从文件中读取先前的 'list' 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15595620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com