python - 将 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)
那行不通,我希望这只是我的语法问题。任何帮助我摆脱白痴的帮助将不胜感激:)
解决方案
您可以使用该getattr
函数动态访问模块中的属性:
import nhcparams
def get_max_price(ARG):
my_price = getattr(nhcparams, ARG)['Price']
get_max_price('FOO')
请注意,'FOO' 需要作为字符串传递。并且属性是从 getattr 函数调用返回的
推荐阅读
- typescript - `Function` 和 `(...args: any[]) => any` 之间的区别
- github - 在 Github 上链接 css 和 js 文件的问题
- android - 调用 onActivityResult 时,协程上下文尚未创建
- c++ - 尝试创建线程的问题
- python - 如何在python中将bool的字符串表示解析为bool?
- android - kotlin 类,我在类外修改了一个列表,它最终修改了类内的值
- python - 使用 ffmpeg 与 Audacity 从 mp3 创建的 wav 文件的巨大差异
- python - VS Code - 智能感知变化
- unity3d - Unity - 对象很快撞到另一个对象
- sql - 如何在字符串中分隔 SQL 变量