Python 动态导入对象,importlib.import_module()及importlib.reload()的使用
一个函数运行需要根据不同的项目配置,动态导入对应配置文件运行.
构造此类型的文件集py。
a.py,b.py,c.py文件分别你写入
#a.py def show(): print("Show A") #b.py def show(): print("Show B") #c.py def show(): print("Show C")
新建main.py:代码如下:
import importlib a = importlib.import_module("a.a") a.show() # Show A b = importlib.import_module("b.b") b.show() # Show B c = importlib.import_module("b.c.c") # 绝对导入 c.show() # Show C d = importlib.import_module(".c.c", package="b") # 相对导入 d.show() # Show C
importlib.reload():
新建test.py和test1.py文件:
test.py:
def show(): print("Show A")
test1.py
import importlib import test def show(): print("Show B") importlib.reload(test) test.show() # Show A