无法重新加载位于另一个文件夹中但也在sys.path中的模块。

3

我在重新加载一个位于sys.path中的另一个目录中的模块时遇到了一些问题。

>>> from module_from_another_dir import *
>>> from importlib import reload
>>> reload(module_from_another_dir)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'module_from_another_dir' is not defined

正如你所看到的,我可以导入它,但后来无法重新加载它。


2
这是因为您导入了模块的每个元素,但没有导入模块本身。 - Jean-François Fabre
谢谢,现在它可以工作了。 - Scarass
1个回答

6
当您像这样导入模块时:
from module_from_another_dir import *

那么 Python 只知道新方法并会“忘记”模块名称。但是,您可以将您的模块导入为:
import module_from_another_dir

这样你就可以轻松地重新加载它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接