从字典值中命名以前未定义的变量名?
Naming previously undefined variable names from a dictionary value?
我在程序开始时打开了很多文件,我想避免使用 'with open(....) as ....' 的 50 多行单独的行。我正在寻找一种方法将文件名映射到将存储数据的变量名,以便我可以使用 'for' 循环打开所有文件并保存大量代码行。
字典很适合这个目的,这对我来说似乎很直观,但如果我使用变量名称作为值,我会收到“名称 'variableName' 未定义”错误。我还尝试将变量名称存储为字符串,虽然这不会产生错误消息,但它似乎也没有实际存储数据(即当我之后尝试调用变量时,它说变量未定义) .
fileMapDict = {'file1': var1, 'file2': var2, 'file3': var3}
for file in fileMapDict:
with open(file, 'r') as data:
fileMapDict[file] = json.load(data)
正如我所说,当我 运行 代码时,这段代码会产生一个变量未定义的错误,任何人都可以建议一种方法来实现它吗?
如果字典中有数据,则不需要单独的变量。
files = ['file1', 'file2', 'file3'] # list of file names to open
fileMapDict = {} # empty dictionary to store the data in
for file in files:
with open(file, 'r') as data:
fileMapDict[file] = json.load(data) # write data to dictionary with the file name as the key
我在程序开始时打开了很多文件,我想避免使用 'with open(....) as ....' 的 50 多行单独的行。我正在寻找一种方法将文件名映射到将存储数据的变量名,以便我可以使用 'for' 循环打开所有文件并保存大量代码行。
字典很适合这个目的,这对我来说似乎很直观,但如果我使用变量名称作为值,我会收到“名称 'variableName' 未定义”错误。我还尝试将变量名称存储为字符串,虽然这不会产生错误消息,但它似乎也没有实际存储数据(即当我之后尝试调用变量时,它说变量未定义) .
fileMapDict = {'file1': var1, 'file2': var2, 'file3': var3}
for file in fileMapDict:
with open(file, 'r') as data:
fileMapDict[file] = json.load(data)
正如我所说,当我 运行 代码时,这段代码会产生一个变量未定义的错误,任何人都可以建议一种方法来实现它吗?
如果字典中有数据,则不需要单独的变量。
files = ['file1', 'file2', 'file3'] # list of file names to open
fileMapDict = {} # empty dictionary to store the data in
for file in files:
with open(file, 'r') as data:
fileMapDict[file] = json.load(data) # write data to dictionary with the file name as the key