从字典值中命名以前未定义的变量名?

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