使用raw_input更改变量名称

时间:2012-10-30 09:44:15

标签: python variable-names

以下是初学者问题:

我创建了一个函数,它读取一个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

这似乎不起作用。有什么想法吗?

2 个答案:

答案 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

这是一种更有效的存储方式。