需求
我们有时写了一个功能,需要不断地调整,但是已经在线上了,而且在执行任务, 这时要更新上去源文件,而不能结束掉当前进程,怎么办?
所以这时,我们需要动态地加载py文件了. 实现示例代码方式如下:
while 1:
if "UI.fun" in sys.modules:
del(sys.modules["UI.fun"])
exec("import UI.fun")
UI.fun.echo("aa")
time.sleep(2)
解释相关的技巧
sys.modules
里面有所有已经加载了的模块的名称,所以我们要先删除这个模块 exec("import UI.fun")
再执行加载的动作