首页 > 解决方案 > 将 Python 参数传递给模块

问题描述

简单的 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)

那行不通,我希望这只是我的语法问题。任何帮助我摆脱白痴的帮助将不胜感激:)

标签: pythonpython-3.x

解决方案


您可以使用该getattr函数动态访问模块中的属性:

import nhcparams

def get_max_price(ARG):
    my_price = getattr(nhcparams, ARG)['Price']

get_max_price('FOO')

请注意,'FOO' 需要作为字符串传递。并且属性是从 getattr 函数调用返回的


推荐阅读