我开始使用 Python 3.3 而不是 2.7,我用来重新启动或关闭程序的一些代码行存在问题。
def restart_program():
python = sys.executable
os.execl(python, python, * sys.argv)
if __name__ == "__main__":
answer = input("Restart or close program ")
if answer.strip() in "Restart restart".split():
restart_program()
当我使用它时,我收到以下错误:
Fatal Python error: PyEval_RestoreThread: NULL tstate
Current thread 0x00002030:
File "C:\Python33\lib\os.py", line 531 in execl
File "C:\Users\user\desktop\filename", line 66 in restart_program
第 66 行是
os.execl(python, python, * sys.argv)
我不知道如何解决这个问题,我真的希望有人有解决方案。
如果我像下面的代码那样写一些非常简单的东西,那么它就没有问题了。
import math
import os
import sys
a = input ("enter a")
a = float (a)
b = 12
x = a+b
print (x)
def restart_program():
python = sys.executable
os.execl(python, python, * sys.argv)
if __name__ == "__main__":
answer = input("Restart or close the program ")
if answer.strip() in ["Restart", "restart"]:
restart_program()
我想我也可以在这里添加我的整个代码。