每次修改脚本后都需在终端重启Python

10 投票
5 回答
18738 浏览
提问于 2025-04-16 02:05

每次我对一个Python脚本做修改后,都需要重新启动Python并重新导入这个模块。请告诉我有什么办法可以在不重新启动Python的情况下,修改我的脚本并运行它们。

谢谢。

5 个回答

1

你的意思是你直接在交互式的 Python 环境里输入代码,还是通过终端运行类似 python myscript.py 这样的命令来执行你的 .py 文件呢?

2

如果只是某个模块发生了变化,你可以在你的脚本中调用 reload(module) 来重新加载这个模块。

5

我有个建议,基于你描述的工作流程:

首先,我在终端运行python3.1,然后做“import module”,接着每次都要运行模块里的一个方法,比如“module.method(arg)”。每次调试代码时,我都得重复这个过程,尽管改动很小。这实在是太低效了。

与其每次都打开交互式的Python环境,不如让模块本身可以直接执行。最简单的方法是在模块的底部添加一个代码块,像这样:

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教程中找到更多信息。

这样做的好处是,当你修改了代码后,通常只需按上箭头再按回车就能重新运行模块,不需要麻烦地重新加载。

撰写回答