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

2024-04-26 02:16:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我在我的程序开始时打开了很多文件,我想避免使用50+行单独的'with open(…)as…'。我正在寻找一种方法,将文件名映射到数据将存储在其中的变量名,以便使用“for”循环打开所有文件并保存大量代码行。你知道吗

对我来说,字典似乎很适合这个目的,但是如果我使用变量名作为值,我会得到一个'name'variableName'is not defined'错误。我还尝试将变量名存储为字符串,虽然这不会产生错误消息,但它似乎也不会实际存储数据(即,当我尝试在之后调用变量时,它会说变量未定义)。你知道吗

fileMapDict = {'file1': var1, 'file2': var2, 'file3': var3}

for file in fileMapDict:
    with open(file, 'r') as data:
        fileMapDict[file] = json.load(data)

正如我所说,这段代码产生了一个变量未定义的错误,当我运行代码,有人能建议一种方法,使这项工作?你知道吗


Tags: 文件数据方法代码程序fordata文件名
1条回答
网友
1楼 · 发布于 2024-04-26 02:16:39

如果字典中有数据,就不需要有单独的变量。你知道吗

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

相关问题 更多 >