Python - 动态调用模块中的函数

标签 python

我是 Python 的新手,遇到这样的情况,我有一个代表模块内部函数的变量,我想知道如何动态调用它。我有 filters.py:

def scale(image, width, height):
    pass

然后在另一个脚本中我有类似的东西:

import filters

def process_images(method='scale', options):
    filters[method](**options)

...但这显然行不通。如果有人可以告诉我执行此操作的正确方法,或者让我知道是否有更好的方法将函数作为参数传递,那就太棒了。

最佳答案

你需要内置 getattr :

getattr(filters, method)(**options)

关于Python - 动态调用模块中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3190583/

相关文章:

python - fabric - 如何在部署时获取主机名

python - Google Analytics API 过滤器返回的值过于严格

python - 按位异或运算符在 python 中不起作用

python - 根据 img.shape 值将图像移动到文件夹

python - 实时解析日志的同时降低CPU使用率

python - 如何使用 python3 将 CIDR 转换为 IP 范围?

python - 如何通过 Selenium 跟踪 JavaScript 链接(无链接文本)

python - 加入所有 PostgreSQL 表并制作一个 Python 字典

Python 3.4 类型错误 : argument of type 'int' is not iterable

python - 如何使用 cx_freeze 和 win32com 强制绑定(bind)?