有可能重新加载python模块吗?

时间:2014-04-30 11:24:41

标签: python reload interpreter

在翻译中乱七八糟,对我来说,能够按照reload(foo) as f的方式做一些事情是有用的,尽管我知道这是不可能的。就像我import foo as f一样,有没有办法做到这一点?

使用Python 2.6

谢谢!

4 个答案:

答案 0 :(得分:6)

如果您首先导入import foo as f,那么重新加载调用可以是reload(f)

答案 1 :(得分:2)

Python 3回答

正如其他人所说,只需使用您用作别名的名称重新加载。但是,由于Python 3中不推荐使用imp,因此您现在应该使用importlib执行此操作。我们假设您的原始导入使用了如下别名:

import fullLibName as aliasName

然后重新加载别名:

importlib.reload(aliasName)

答案 2 :(得分:1)

import foo
f = reload(foo)

如果我理解你的问题,这应该有用。

如果你实际上不需要重新加载库,你可以按照Martijn的建议去做,只需重新分配foo。

f = foo

答案 3 :(得分:0)

imp module为您提供了更多访问导入内部的权限,您可以导入任何源文件(即它不需要在路径中)。

E.g。

anyname = imp.load_source("SOME NAME", FILEPATH)