Python 动态导入
Python 动态导入首先是项目目录结构其中 lib_a.py 和lib_b.py 代码如图# lib_a.pydef do_something():print("this is lib_a.py")# lib_b.pydef do_something():print("this is lib_a.py")main代码如下#!/usr/bin/env python# coding:utf8impo
·
Python 动态导入
首先是项目目录结构
其中 lib_a.py
和lib_b.py
代码如图
# lib_a.py
def do_something():
print("this is lib_a.py")
# lib_b.py
def do_something():
print("this is lib_a.py")
main
代码如下
#!/usr/bin/env python
# coding:utf8
import importlib
module_name = "mylib.lib_a"
# module_name = "mylib.lib_b" # 根据字符串选择导入的模块
module_object = importlib.import_module(module_name)
handler_func = getattr(module_object, "do_something") # 获取动态导入模块中,公共的do_something
handler_func() # 执行
# 实际与 __import__() 相同,但是不推荐使用__import__()
# 而且,如果使用__import__()还要注意传参,否则还需要 module_object.lib_a 加一层级
# importlib 与__import__的区别
# https://www.cnblogs.com/kai-/p/12183455.html
更多推荐
已为社区贡献11条内容
所有评论(0)