在 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)