我试图使我的代码打开一个.txt文件,该文件中包含一个列表,如果您查看列表内部,您看到的就是列表,就像这样的“ [3,5,6,6]” 但是,当我打开它时,我希望它以列表的数据集bieng结尾,其值bieng是要在以后的代码中使用的列表。我遇到的问题是数据集似乎是bieng或它的值被视为字符串而不是列表。我试图在不使用任何主要为我完成工作的模态或功能的情况下做到这一点。
我在python shell上测试了一个迷你版本
f = str(f)
newlist = "f = " + f
exec(newlist)
它再次以一个列表结束,但是在此代码数据集中仍然是字符串而不是列表,我非常困惑为什么它不像另一个示例那样遵循代码。我还在代码的另一部分中将列表另存为字符串,但是在.txt文件中,列表旁没有引号。
list_file = open((file_name+".txt"), "a")
list_file.write(str(dataset))
loading = True
while loading:
file_name = input("Type below what the name of your file is\nLeave blank to go back\n:")
if file_name == "":
loading = False
menu(dataset)
else:
list_file = open((file_name+".txt"), "r")
file = list_file.read()
dataset = file
newlist = "dataset ="+dataset
exec(newlist)
list_file.close()
loading = False
menu(dataset)
我希望得到的结果是它将列表作为字符串收集,然后将字符串转换回名为数据集的列表。
答案 0 :(得分:0)
要将列表的字符串表示形式转换为实际列表:
import ast
string = '[1,2,3]'
lst = ast.literal_eval(string)
输出:
[1,2,3]