- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我之前创建了一个 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/
我的应用将 SceneKit 内容的“页面”与图像和文本交替。当我从图像页面前进到新的 SceneKit 页面时,前一个 SceneKit 页面中的内容会短暂显示,然后被新内容替换。时髦。 我只使用一
我正在尝试处理(在 C# 中)包含一些数字数据的大型数据文件。给定一个整数数组,如何对其进行拆分/分组,以便如果下一个 n(两个或更多)是负数,则前一个 n 元素被分组。例如,在下面的数组中,应该使用
刚接触promises,研究过。所以我的代码和我的理解: sql.connect(config).then(function(connection) { return connection.req
目前我在 if (roobaf) block 中有一些代码,这取决于 foo 和 bar 是否为假。我可以在 block 内再次检查这些条件,但感觉像是不必要的代码重复。 if (foo) {
我是一名优秀的程序员,十分优秀!