我有一个包含很多变量的 python 模块。许多其他模块使用和更改这些变量。我想在它发生时从它自身重新加载这个模块(为了刷新)。
怎么做?
更新:所以.. 这是我,问题作者,问题发布日期后 8 年。我完全不知道为什么我会尝试做那样的事情。
如果您阅读本文,请尝试使用适当的配置管理技术(大部分时间由您的框架提供)。
# ==================================
# foo.py
spam = 100
def set_spam(value):
spam = value
foo = reload(foo) # reload module from itself
# ==================================
# bar.py
import foo
print foo.spam # I expect 100
# assume that value changes here from some another modules (for example, from eggs.py, apple.py and fruit.py)
foo.set_spam(200)
print foo.spam # I expect 200
Run Code Online (Sandbox Code Playgroud)