小编典典

Python:重新加载用'from X import Y'导入的组件Y?

python

在Python中,一旦我在解释器会话中使用导入了模块X import X,并且模块在外部进行了更改,就可以使用来重新加载该模块reload(X)。然后,这些更改将在我的解释器会话中可用。

我想知道当我使用模块从模块X导入组件Y时是否也可行from X import Y

该语句reload Y不起作用,因为Y本身不是模块,而是模块内部的仅组件(在这种情况下为类)。

是否有可能在不离开解释器会话(或导入整个模块)的情况下重新加载模块的各个组件?

编辑:

为了澄清起见,问题是关于从 模块X* 导入 类或函数Y 并在更改时重新加载,而不是从包X重新加载模块Y。 *


阅读 239

收藏
2020-12-20

共1个答案

小编典典

如果Y是一个模块(而X是一个包)reload(Y)就可以了-否则,您将明白为什么优秀的Python样式指南(例如,我的老板的)会说 除了* 模块
之外不要 导入任何东西(这是许多重要原因之一) -但是人们仍然继续直接导入函数和类,无论我解释多少,这 都不
是个好主意;-)。
***

2020-12-20