我在Windows上使用Python 2.7。
如何在python中通过键盘中断关闭程序。
我制作了一些代码,但它每次都要求我提供输入然后根据它执行某些操作。 我希望代码不应该每次都询问我,在任何随机时间我给出输入它应该执行相应的操作 (对于我的案子关闭程序)
while 1:
var = raw_input("enter a to stop: ")
if var == 'a':
break
exit()
答案 0 :(得分:1)
您可以将代码置于try除了block并捕获keyboardInterrupt
之外#!/usr/bin/python
import sys
try:
# Do something here and when you key board interrupt
# The except block will capture the keyboard interrupt and exit
except KeyboardInterrupt:
sys.exit()
答案 1 :(得分:0)
如果您不想使用try-except构造,请使用signal
模块来捕获SIGINT。以下代码来自this page,在这里您可以找到更长的解释:
import signal
def keyboardInterruptHandler(signal, frame):
print("KeyboardInterrupt (ID: {}) has been caught. Cleaning up...".format(signal))
exit(0)
signal.signal(signal.SIGINT, keyboardInterruptHandler)
while True:
pass
Ỳou还可以查看this question
的答案答案 2 :(得分:-1)
试试这个。
try:
while 1:
var = raw_input("enter a to stop: ")
if var == 'a':
break
except (KeyboardInterrupt, SystemExit):
print 'program stopped manually'
raise
except:
# report error and proceed,