从python交互模式导入

时间:2019-01-19 12:30:48

标签: python import interactive

我从命令行使用“ python -i”运行了一个脚本。该脚本按预期运行,最终按预期进入交互模式。

但是,现在,我想使用scipy.signal包中的命令,所以我输入:

>>> from scipy import signal

由于某种原因,这会触发解释器从头开始再次运行整个脚本。

为什么会这样?而我应该如何避免呢?

1 个答案:

答案 0 :(得分:0)

导入文件时,将读取并执行整个文件。无论您使用from file import function还是仅使用import file,这都是相同的。

在将这样的代码块导入后,您应该放置所有不想运行的代码:

if __name__ = '__main__':
    your code here

您希望导入的函数定义应该在此块之外,因为需要对其进行加载和执行才能导入并可以使用。

请参见this duplicate question,其中会对此进行详细说明。