我想在python程序中捕获到ctrl c后推出python程序,尝试了 try except KeyboardInterrupt 但是程序还是继续运行
我的场景大概是样
cmd_list = [cmd1, cmd2, cmd3, cmd4]
for cmd in cmd_list:
try:
os.system(cmd)
except KeyboardInterrupt:
exit(3)
我想在命令行执行python脚本的时候,执行到某一cmd后,按下ctrl c后,整个脚本结束,而不是只结束当前运行的cmd
try:
while cmd:
pass
except KeyboardInterrupt:
pass
该回答引用GPTᴼᴾᴱᴺᴬᴵ
在 Python 中,KeyboardInterrupt 异常是由 CTRL+C 引发的。您可以在 try 块中使用 except KeyboardInterrupt 来捕获这个异常,并在 except 块中编写您的退出逻辑。
在您的代码中,您可以这样修改:
cmd_list = [cmd1, cmd2, cmd3, cmd4]
try:
for cmd in cmd_list:
os.system(cmd)
except KeyboardInterrupt:
exit(3)
在这里,我们将 try 块移到 for 循环的外部,以便捕获 KeyboardInterrupt 异常,然后在 except 块中添加退出逻辑。