简体   繁体   中英

Change a variable name with a raw_input

Here is a beginners question:

I made a function that reads a txt file (selected by the user) and makes a list of many numbers contained in the file, called A. I called this function open_file . Then I want to change the name of that list with the original name of the file, plus " _values "

My try

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

This doesn't seem to work. Any ideas?

If you will be doing this to a lot of files it would be better to store the lists in a dictionary rather than making a new variable for each.

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

You can try using:

vars()[file_name+"_values"] = A

The reason it is not working because you are trying to save a list in a string.

Basically file_name+"_"+"values" is a string a not a variable. Hence you will get an error.

However I would highly suggest you saving the list of values for each filename in a dictionary.

values = dict()
values[file_name] = A

This is a more efficient way of storing values.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM