以下是初学者问题:
我创建了一个函数,它读取一个txt文件(由用户选择),并生成一个包含在文件中的许多数字的列表,称为A.我调用了这个函数open_file
。
然后我想用文件的原始名称更改该列表的名称,加上“_values
”
我的尝试
file_name = raw_inpunt('Give the name of the file:') # the user chooses the file
open_file (file_name) #A list is created
file_name +'_'+'values' = A
这似乎不起作用。有什么想法吗?
答案 0 :(得分:2)
如果您要对很多文件执行此操作,最好将列表存储在字典中,而不是为每个文件创建一个新变量。
results = {}
....
file_name = raw_input('Give the name of the file:') # the user chooses the file
open_file(file_name) #A list is created
results[file_name] = A
答案 1 :(得分:-1)
您可以尝试使用:
vars()[file_name+"_values"] = A
它因为您尝试将字符串保存在字符串中而无法正常工作的原因。
基本上file_name+"_"+"values"
是一个字符串,而不是一个变量。因此,您将收到错误。
但是我强烈建议你在字典中保存每个文件名的值列表。
values = dict()
values[file_name] = A
这是一种更有效的存储方式。