在交互式的时候用python重新导入一个模块

我知道这是可以做到的,但我从来没有记得过。

你怎么能重新导入模块在Python? scheme如下:我交互地导入一个模块并修改它,但是然后我面对一个错误。 我修复.py文件中的错误,然后我想重新导入固定模块而不退出python。 我该怎么做 ?

这应该工作:

reload(my.module) 

从Python文档

重新加载以前导入的模块。 参数必须是一个模块对象,所以它必须在之前成功导入。 如果您使用外部编辑器编辑了模块源文件,并且希望在不离开Python解释器的情况下尝试新版本,这将非常有用。

在Python 3中, reload不再是一个内置函数。

如果你使用python 3.4+,你应该使用importlib库中的reload来代替:

 import importlib importlib.reload(some_module) 

如果您使用的是Python 3.2或3.3,您应该:

 import imp imp.reload(module) 

代替。 请参阅http://docs.python.org/3.0/library/imp.html#imp.reload

如果您使用的是ipython ,那么一定要考虑使用自动ipython扩展:

 %load_ext autoreload %autoreload 2 

实际上,在Python 3中, imp模块被标记为DEPRECATED。 那么,至less在3.4这是真的。

相反,应该使用importlib模块的reloadfunction:

https://docs.python.org/3/library/importlib.html#importlib.reload

但请注意,这个库在最后两个次要版本中有一些API更改。