Python 重新加载模块时强制重新加载类
在我的客户端代码中,我有:Python 重新加载模块时强制重新加载类,python,python-2.7,sage,Python,Python 2.7,Sage,在我的客户端代码中,我有: import sys import os YAP_PATH = "/package/src/python" if YAP_PATH not in sys.path: sys.path.append(YAP_PATH) if 'yap' in sys.modules: reload(yap) import yap print "working dir", os.getcwd() (这是一个sage的开发环境,所以不要对这个黑客解决方案大喊大叫
import sys
import os
YAP_PATH = "/package/src/python"
if YAP_PATH not in sys.path:
sys.path.append(YAP_PATH)
if 'yap' in sys.modules:
reload(yap)
import yap
print "working dir", os.getcwd()
(这是一个sage的开发环境,所以不要对这个黑客解决方案大喊大叫)
在我的模块的\uuuu init\uuuu.py
中:
import Repository
__all__ = ['Repository']
print "yap loaded"
每次我计算第一个代码块(在sage单元中)时,它都会打印“yap-loaded”,因此每次都会重新加载模块
我现在想在\uuu init\uuuuuupy.py
中实现的是,每次重新加载模块时,类存储库也将重新加载
如何实现这一点,而不将代码放在sage单元格中,而是放在\uuu init\uuuu.py
文件中
from Repository import Repository
__all__ = ['Repository']
def main(path):
import sys
_module_ = sys.modules[__name__]
if hasattr(_module_, 'WORKING_PATH'):
for m in __all__:
if __name__ + "." + m in sys.modules:
m = sys.modules[__name__ + "." + m]
reload(m)
else:
_module_.WORKING_PATH = path
if __name__ == 'yap':
print "yap loaded"
欢迎光临