在python中将包名和函数名作为变量传递

2024-04-29 08:26:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我在文件f1.py中定义了一个函数:

def fn1():
 return 1

def fn2():
 return 2

对于学习练习,我尝试以下方法,效果很好:

import f1
from f1 import fn1, fn2

但以下方法不起作用:

pkgName = 'f1'
fnName = 'fn1'
from pkgName import fnName

如何将包名和函数名作为变量传递


Tags: 文件方法函数frompyimportreturn定义
1条回答
网友
1楼 · 发布于 2024-04-29 08:26:05

您可以先使用__import__函数导入模块,然后使用getattr作为模块对象的属性访问该函数:

module_name = 'f1'
function_name = 'fn1'
fn = getattr(__import__(module_name, fromlist=[function_name]), function_name)
fn()

相关问题 更多 >