有一个带有输入参数的 Python 脚本。在某些情况下,它需要重新启动自己。我执行以下操作:
import os
import sys
...
if condition_to_restart == True:
os.execv(sys.argv[0], sys.argv)
脚本正在尝试重新启动,但弹出错误OSError: [Errno 13] Permission denied
带有参数的 Python 脚本如何重新启动自身?
有一个带有输入参数的 Python 脚本。在某些情况下,它需要重新启动自己。我执行以下操作:
import os
import sys
...
if condition_to_restart == True:
os.execv(sys.argv[0], sys.argv)
脚本正在尝试重新启动,但弹出错误OSError: [Errno 13] Permission denied
带有参数的 Python 脚本如何重新启动自身?
简而言之,您的脚本未标记为可执行文件,但
sys.argv[0]脚本本身将在其中。您可以指定作为启动 python 的第一个参数,它将运行脚本:您可以在单独的进程中运行“有用的”脚本(main),并将启动文件用作 shell 来重新启动它(main_restart):
出去: