python模块 mod 感觉 brush python学习 程序 其它 images
本文是在阅读Python 学习手册后 感觉比较不错的一个实现模块重载的一个模块,该模块可以实现对已经加载在运行程序中的模块实现重新加载,并且该模块可以递归的实现对要重新加载的模块内所引用的其它模块的重新加载。
- """
- reloadall.py: transitively reload nested modules
- """
- import types
- from imp import reload
- def status(module):
- print (‘reloading ‘+module.__name__)
- def transitive_reload(module, visited):
- if not module in visited:
- status(module)
- reload(module)
- visited[module]=None
- for attrobj in module.__dict__.values():
- if type(attrobj)==types.ModuleType:
- transitive_reload(attrobj, visited)
- def reload_all(*args):
- visited={}
- for arg in args:
- transitive_reload(arg, visited)
- if __name__=="__main__":
- import reloadall
- reload_all(reloadall)
注意:
该模块的代码完全引用于Python学习手册的书中。
Python模块 实现过渡性模块重载
来源: http://www.bubuko.com/infodetail-2311088.html