在 Python 中重新启动脚本
Muhammad Waiz Khan
2021年3月21日
在本教程中,我们将研究重新启动或重新运行 Python 程序的方法。假设我们希望将功能添加到我们的程序中,以便在用户选择重新启动选项时重新启动;我们需要某种方法从程序内部重新运行该程序。
本教程将演示可用于从程序内部重新启动程序并使用 Python 杀死程序的当前实例的方法。我们可以使用以下方法来做到这一点。
在 Python 中使用 os.execv()
函数重新启动程序脚本
os.execv(path, args)
函数通过替换进程来执行新程序。它不会刷新缓冲区,文件对象和描述符,因此用户需要在调用 os.execv()
函数之前分别缓冲它们。os.execv()
函数不需要 path
参数就可以找到可执行程序。
因此,要使用 os.execv()
函数重新启动程序,我们首先需要使用 sys.stdout.flush()
和 file.flush()
方法刷新缓冲区和文件描述符。os.execv()
方法,如下面的示例代码所示。
import os
import sys
sys.stdout.flush()
os.execv(sys.argv[0], sys.argv)