我需要實現一個可以根據需要重新啓動Python腳本的函數。主環路不可接受。 Python可執行文件和腳本都包含空格。如何在Windows中使用路徑中的空格重新啓動Python 3.5腳本
我已經試過:
python = sys.executable
os.execl(python, python, * sys.argv)
失敗,因爲路徑包含空格:C:\Program: can't open file 'Files': [Errno 2] No such file or directory
python = '"' + sys.executable + '"'
os.execl(python, python, * sys.argv)
它失敗
OSError: [Errno 22] Invalid argument
簡單:
os.execl(python, python)
也失敗了。
我也試過:
subprocess.run([python])
而失敗:PermissionError: [WinError 5] Access is denied
subprocess.run(['"' + python + '"'])
subprocess.run(['""' + python + '""'])
也失敗了......
謝謝您的幫助
請在問題中添加什麼'sys.executable'包含 –
我的意思是請添加'print(repr(sys.executable))' –