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

   

猜你喜欢

转载自www.cnblogs.com/zhouzetian/p/12487363.html