是否有可能在运行结束后从我的Python代码/脚本中退出Windows下的Python IDLE ?
我试过这样做:
import sys
sys.exit(0) # or exit(1)
不工作。可能只退出正在运行的python脚本的当前"进程"。谢谢大家
如果您可以从命令行运行IDLE(或编辑您的快捷方式),我在IDLE帮助中发现了这一点。
If IDLE is started with the -n command line switch it will run in a
single process and will not create the subprocess which runs the RPC
Python execution server.
似乎暗示脚本在 IDLE中运行。我做了一个快速的测试脚本,调用exit()
会弹出一个要求终止程序的对话框。单击yes,脚本和IDLE都退出。
这正是您想要的。没有提示。
import os
os.system("taskkill /f /im pythonw.exe")
要从Python代码/脚本中退出Windows下的Python IDLE而不需要进一步提示,请尝试:
parent_pid = os.getppid() # Get parent's process id
parent_process = None
for proc in psutil.process_iter(attrs=['pid']): # Check all processes
if proc.pid == parent_pid: # Parent's Process class
parent_process = proc
break
if parent_process is not None:
parent_process.kill() # Kill the parent's process
这适用于IDLE, PyCharm甚至Windows中的命令行。