如何在Python脚本的IF/ELSE语句中关闭cmd.exe完整窗口?
解决Python脚本关闭cmd.exe完整窗口的问题
首先修正你代码里的语法错误:if x = 1 要改成 if x == 1(Python中判断相等用双等号==,单等号是赋值操作)。
要关闭启动Python脚本的cmd窗口,而不是只退出Python进程,可以用以下几种方法:
方法1:精准关闭当前cmd窗口(推荐)
通过杀死Python进程的父进程(即cmd.exe)来关闭窗口,只会关闭当前运行脚本的那个cmd窗口,不会影响其他cmd窗口:
import os x = 0 # 示例值,可根据实际逻辑修改 if x == 1: # 脚本继续执行的逻辑 print("脚本正常运行") else: print('ops') # 获取父进程ID(启动当前Python的cmd进程)并强制终止 os.system(f"taskkill /pid {os.getppid()} /f")
说明:
os.getppid():获取当前Python进程的父进程ID,也就是运行脚本的cmd.exe的进程ID。taskkill /pid [PID] /f:强制终止指定PID的进程,/f参数确保进程被强制关闭,避免无法终止的情况。
方法2:关闭所有cmd窗口(不推荐)
如果确定当前系统中只有一个cmd窗口在运行,可以用这个命令,但会关闭所有打开的cmd窗口:
import os x = 0 if x == 1: print("脚本正常运行") else: print('ops') os.system("taskkill /f /im cmd.exe")
注意事项
- 如果是通过双击
.py文件运行脚本,默认情况下cmd窗口会在脚本结束后自动关闭;如果窗口没有关闭,可能是脚本执行过程中有暂停(比如input()),或者你是在已打开的cmd窗口中手动输入命令运行脚本。 - 确保脚本有足够的权限终止进程,普通用户权限通常足够。
内容的提问来源于stack exchange,提问作者Romer
相关产品推荐
相关产品推荐

