从同一目录中的所有模块导入并调用相同的函数

Import and call identical function from all modules in the same directory

我在 script2.pyscript3.pyscript4.py 中有 def myfunc()。在 script1.py 中,我想从脚本 2、脚本 3 和脚本 4 调用 myfunc

script1.py中,而不是乏味地列出:

from script2.py import myfunc 
myfunc()
from script3.py import myfunc 
myfunc()
from script4.py import myfunc 
myfunc()

有没有一种方法可以从同一目录中存在的所有脚本中导入 myfunc

您搜索的可能是动态导入

您可以使用 __import__ 函数在循环中调用您的函数

for i in range(2, 5):
    try:
        script_module = __import__("script{}.py".format(i))
        script_module.myfunc()
    except ImportError:
        pass # or do whatever when this fails...