You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过字符串名称调用Python导入模块utilities中的对应函数

通过字符串调用模块内对应函数的实现方法

Python内置的getattr()函数可以直接从对象(此处为导入的utilities模块)中获取指定名称的属性,你可以用该方法拿到对应函数对象后直接传参调用,示例如下:

import utilities

x = 'func_1'
# 获取utilities下名称与x变量值一致的属性
target_func = getattr(utilities, x)
# 传入参数调用该函数
res = target_func(var1, var2)

可选的鲁棒性优化

如果要避免传入的字符串不存在对应方法时抛出异常,可以给getattr()设置默认返回值,调用前先做校验:

  • 给getattr()传第三个参数作为属性不存在时的默认返回值
  • 拿到返回结果后用callable()校验是否为可调用的函数对象

示例代码:

target_func = getattr(utilities, x, None)
if callable(target_func):
    res = target_func(var1, var2)
else:
    print(f"utilities模块中无{x}对应的可调用方法")

注意:不要使用eval()执行字符串拼接的方式实现该需求,会引入严重的安全风险,getattr()是该场景的官方标准实现方案。


内容的提问来源于stack exchange,提问作者nadermx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 17:42:00