【问题标题】:Read a list from txt file in Python在 Python 中从 txt 文件中读取列表
【发布时间】:2016-07-22 07:42:48
【问题描述】:

我需要从 txt 文件中读取一个列表,并将其作为列表变量导入到我的 .py 文件中。 我可以使用导入功能,但是程序必须编译,当它编译成exe时,所有导入结束都转换为不可修改的文件,所以解决方案是从txt读取。 我使用的代码与此类似

首先,我将列表保存在一个 txt 文件中,如下所示:

[['preset1','a1','b1'],['preset2','a2','b2'],['preset3','a3','b3'],['preset4','a4','b4']]

然后,我在 python 中读取了列表:

file = open('presets.txt','r')
content = file.readline()
newpresets = content.split("'")
file.close()

我认为使用拆分功能删除 ' 符号,程序将内容作为列表而不是字符串,但这不起作用...... 所以,我需要如何读取文件的内容而不是解释为字符串。

谁能帮帮我?

谢谢

【问题讨论】:

  • 你想要的输出是什么?

标签: python list file


【解决方案1】:

尝试使用ast.literal_eval

>>> a = str([['preset1','a1','b1'],['preset2','a2','b2'],['preset3','a3','b3'],['preset4','a4','b4']])
>>> a
"[['preset1', 'a1', 'b1'], ['preset2', 'a2', 'b2'], ['preset3', 'a3', 'b3'], ['preset4', 'a4', 'b4']]"
>>> import ast
>>> ast.literal_eval(a)
[['preset1', 'a1', 'b1'], ['preset2', 'a2', 'b2'], ['preset3', 'a3', 'b3'], ['preset4', 'a4', 'b4']]
>>> 

【讨论】:

  • 阅读了 cmets 并了解了 eval() 函数的真正用途,我更喜欢使用这个...因为 eval() 非常不安全,这只会将我的字符串解释为一个列表,我想想……
猜你喜欢
  • 1970-01-01
  • 2016-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多