每次更改脚本时都需要在终端中重新启动python


问题内容

每次我更改python脚本时,都必须重新加载python并重新导入模块。请告知我如何修改脚本并运行,而不必在终端中重新启动python。

谢谢。


问题答案:

根据您对工作流程的评论,我有一个建议:

首先,我在终端中运行python3.1,然后执行“导入模块”,然后,每次从模块中运行一个方法,让其说“
module.method(arg)”,我尝试调试代码,我必须这样做整个序列,即使更改很小。它是非常低效的

使模块本身可执行,而不是启动交互式Python Shell。最简单的方法是在模块底部添加一个块,如下所示:

if __name__ == '__main__':
    method(arg) # matches what you run manually in the Python shell

然后,您可以执行以下操作,而不是运行python3.1,然后导入模块,然后调用方法:

python3.1 modulename.py

Python将运行if __name__ == '__main__'块中的任何代码。但是,如果该模块是由另一个Python模块导入的,则该代码将不会运行。可以在Python教程中找到有关此通用Python习惯用法的更多信息。

这样做的好处是,当您更改代码时,通常只需按向上箭头并按Enter键即可重新运行模块。无需麻烦的重装。