一个简单的NOOB问题,但是经过一个小时的搜索,我仍然找不到它。在Python 3.6中,我有一个带有字典FOO的工作模块nhcparams。以下代码已经过测试并且可以正常工作:
import nhcparams
def get_max_price():
my_price = nhcparams.FOO['Price']
我想将其更改为:
import nhcparams
def get_max_price(ARG):
my_price = nhcparams.ARG['Price']
get_max_price(FOO)
那是行不通的,我希望这只是语法问题。任何使我摆脱愚蠢的帮助将不胜感激:)
答案 0 :(得分:6)
您可以使用getattr
函数动态访问模块中的属性:
import nhcparams
def get_max_price(ARG):
my_price = getattr(nhcparams, ARG)['Price']
get_max_price('FOO')
请注意,“ FOO”需要作为字符串传递。属性是从getattr函数调用返回的
答案 1 :(得分:3)
尝试一下
import nhcparams
def get_max_price(ARG):
my_price = ARG['Price']
# Do stuff
get_max_price(nhcparams.FOO)