保持导入的python模块“新鲜”

时间:2013-07-25 17:10:33

标签: python python-import

好的,我有以下问题:

我有以下内容: x.py:

from y import aFunc

y.py:

from z import aDict

现在,x运行,运行,睡眠,重复计划。然后它在某些文件上调用aFunc。 aFunc使用aDict中的值然后返回。

aDict位于由econ部门的用户管理的python模块中。我知道导入被调用一次然后缓存。即使我将import语句放在aFunc中,它仍然只导入一次然后缓存(如果我错了,请纠正我。)

但是我希望能够动态地获取对aDict的任何更改,换句话说,我想每次x调用y.aFunc时重新导入z.aDict

任何建议都将不胜感激!

2 个答案:

答案 0 :(得分:4)

您可以使用重新加载,但不能使用

from z import aDict

您可以执行以下操作:

reload(z)
#do something with z.aDict here

答案 1 :(得分:0)

看起来我找到了答案。这是重装(aDict)似乎让事情保持新鲜......希望这有助于其他人!

编辑:哎呀!重新加载只能采取模块。所以我最终做的是导入整个模块,然后在我的代码中添加前缀z.aDict。

reload from python docs