gpt4 book ai didi

python - 如何在运行时从其他文件访问字典

转载 作者:行者123 更新时间:2023-12-01 04:55:59 27 4
gpt4 key购买 nike

我想根据变量中传递的值从 file2.py 访问在 file1.py 中创建的字典。两个文件位于同一目录中。

File1.py 看起来像

dict_test_1 = {'a':1, 'b': 2}

dict_test_2 = {'a':11, 'b': 12}

file2.py 看起来像:

import file1

def fun(dict_name):

var_a = file1.dict_name['a'] ## I wanted an equivalent of file1.dict_test_1['a'] or file.dict_test_2['a']

fun(决定来自运行时的变量)#调用函数

我需要在运行时通过“dict_name”访问 file1.py 中创建的字典,但问题是 python 实际上将“dict_name”视为 file1.py 中定义的字典之一,而不是采用“dict_value”的值' 变量传入函数 'fun' 并查找相应的字典。

有什么解决办法吗?

最佳答案

如果您需要按值访问 python 对象,则必须处理 varsobject__dict__ 的困惑。

您有一个字符串dict_name,它将对应于模块file1内的Python对象的名称。如果 file1 是一本字典,那么您会执行 file1[dict_name],对吧?这就是 __dict__ 发挥作用的地方。

def fun(dict_name):
selected_dict = file1.__dict__[dict_name]
var_a = selected_dict['a']

这也是通过使用内置的 vars 来编写的。更好解释on this SO question

def fun(dict_name):
selected_dict = vars(file1)[dict_name]
var_a = selected_dict['a']

关于python - 如何在运行时从其他文件访问字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27369379/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com