Python 重启程序

Python restart program

我做了一个程序,最后要求你重启。

import os并使用os.execl(sys.executable, sys.executable, * sys.argv) 但是什么也没发生,为什么?

代码如下:

restart = input("\nDo you want to restart the program? [y/n] > ")
if str(restart) == str("y"):
    os.execl(sys.executable, sys.executable, * sys.argv) # Nothing hapens
else:
    print("\nThe program will be closed...")
    sys.exit(0)
import os
import sys

restart = input("\nDo you want to restart the program? [y/n] > ")

if restart == "y":
    os.execl(sys.executable, os.path.abspath(__file__), *sys.argv) 
else:
    print("\nThe programm will me closed...")
    sys.exit(0)

os.execl(path, arg0, arg1, ...)

sys.executable: python 可执行

os.path.abspath(__file__): 你是python的代码文件运行.

*sys.argv: 剩余参数

它将再次执行程序,类似于 python XX.py arg1 arg2

os.execv(sys.executable, ['python'] + sys.argv)

解决了问题。

也许 os.execv 会起作用,但如果您有环境和路径变量设置,为什么不直接使用 os.system('python "filename.py"')

import os

print("Hello World!")
result=input("\nDo you want to restart the program? [y/n] > ")
if result=='y':
     os.system('python "C:/Users/Desktop/PYTHON BEST/Hackerrank.py"')
else:
     print("\nThe program will be closed...")

只需导入您要重新启动的程序,然后 运行 在所需的条件下像这样 标题:你好。 py 导入你好 如果(在此输入通用条件): 你好