将Python参数传递给模块

时间:2018-09-24 17:40:14

标签: python python-3.x

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

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

2 个答案:

答案 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)