gpt4 book ai didi

python - 动态传递字典名称python

转载 作者:行者123 更新时间:2023-11-30 23:01:07 25 4
gpt4 key购买 nike

我有 2 个脚本,例如 test.pymain.py
我的 test.py 仅包含字典(没有其他代码)。

我通过传递 dict_name 作为参数来运行 main.py 。在这里,我想从 test.py 获取作为参数传递的字典,并将其内容显示在 main.py 中。

测试.py

config_123={"name":"Dave","age":25}
config_89033 = {"name":"alex","age":30}
.....

运行main.py(注意:这里我用点传递第一个参数)

python main.py 1.2.3

main.py

import sys
from test import *

if __name__ == '__main__':
if len(sys.argv) != 2:
print "error message"
sys.exit(1)
else:
dict_name=sys.argv[1]
#if dict_name contains '.' , replace it
if '.' in dict_name:
temp_name=dict_name.replace(".","") #gives me 123
else:
temp_name = dict_name

#here i want to print the content of dict from test.py
print config_123 #it prints dict (as i am importing * from test)
#but i need to create it dynamically.
print "config_"+temp_name #obviously it prints it as a string "config_123"
#how should i call it here?

在这种情况下,如何从 test.py 调用 config_123 并显示字典?

最佳答案

使用import test导入模块并在模块上使用getattr():

import test

print getattr(test, 'config_123')

输出:

{'age': 25, 'name': 'Dave'}

或者根据您的情况:

print getattr(test, 'config_' + temp_name )

关于python - 动态传递字典名称python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35023358/

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