模块的动态导入与重载

1、动态导入

__import__(name, globals=None, locals=None, fromlist=(), level=0) -> module
  • 该函数是builtins模块函数,用于动态加载模块
  • name,str类型,可以指向某个py文件,也可以指向某个包。但是必须存在,否则会报错
  • fromlist,tuple(str)类型,如果想加载其它包下的py文件,可以由name指向包,fromlist指向需要加载的py名

示例1:

# c.py是当前包下的其它模块
x=__import__('c')
# 调用c.py中的fun函数
x.fun()

 示例2:

# 导入a包下的b.py
x=__import__('a.b', fromlist=('b',))
# 调用b.py下的fun函数
x.fun()

2、重载模块

python2.x reload函数

python3.x 

import importlib
importlib.reload()

 

posted @ 2023-06-09 11:37  挖洞404  阅读(8)  评论(0编辑  收藏  举报