我从命令行使用“ python -i”运行了一个脚本。该脚本按预期运行,最终按预期进入交互模式。
但是,现在,我想使用scipy.signal包中的命令,所以我输入:
>>> from scipy import signal
由于某种原因,这会触发解释器从头开始再次运行整个脚本。
为什么会这样?而我应该如何避免呢?
答案 0 :(得分:0)
导入文件时,将读取并执行整个文件。无论您使用from file import function
还是仅使用import file
,这都是相同的。
在将这样的代码块导入后,您应该放置所有不想运行的代码:
if __name__ = '__main__':
your code here
您希望导入的函数定义应该在此块之外,因为需要对其进行加载和执行才能导入并可以使用。
请参见this duplicate question,其中会对此进行详细说明。