2019年8月10日 动态导入模块 己所不欲勿施于人

module_t=__import__('study.test1')#导入study模块,虽然有test1 但是导入的是最顶级的模块,但是执行了test1一次
print(module_t)
module_t2=__import__('test1') #导入当前路径下的test1
print(module_t2)

module_t.test1.test()
module_t2.test()
#注意上面两个路径的差异

>>>

<module 'study' from '/Users/miaowu/PycharmProjects/untitled/study/__init__.py'>
执行 test1
<module 'test1' from '/Users/miaowu/PycharmProjects/untitled/study/test1.py'>
test1
test1

from study.test1 import *
test1()
test2() #如果test2前面_ 开头,则不能用import *导入
from study.test1 import test1,_test2
test1()
_test2() #_test2()的方法
import importlib
m=importlib.import_module('study.test1')
print(m) #执行test1,且导入的是test1模块,与__import__有差异
m.test1()
m._test2()
原文地址:https://www.cnblogs.com/python1988/p/11332819.html