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

时间:2018-01-26 10:21:44

标签: python function import python-import

我在def myfunc()script2.pyscript3.py中有script4.py。在script1.py中,我想从script2,script3和脚本4中调用myfunc

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

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

有没有办法可以从同一目录中的所有脚本中导入myfunc

1 个答案:

答案 0 :(得分:2)

您可能正在搜索的是动态导入

您可以使用__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...