Python 2.7 Ctrl + C不确定行为

希特温

我想在脚本中进行正确的CTRL+C处理,我一直在阅读一些示例,但是我无法实现确定性的行为。例如,给出以下脚本:

  1 import signal
  2 import time
  3
  4 def sigint_handler(signum, frame):
  5     raise Exception('captured ctrl+c')
  6
  7 signal.signal(signal.SIGINT, sigint_handler)
  8
  9 c = True
 10 while c:
 11     try:
 12         pass
 13     except KeyboardInterrupt as e:
 14         print 'captured keyboardexception'
 15         print str(e)
 16     except Exception as e:
 17         print 'captured exception'
 18         print str(e)
 19         c = False

我可以得到这两个不同的输出

$ python ctrlc.py
^Ccaptured exception
captured ctrl+c

$ python ctrlc.py
^CTraceback (most recent call last):
  File "ctrlc.py", line 12, in <module>
    pass
  File "ctrlc.py", line 5, in sigint_handler
    raise Exception('captured ctrl+c')
Exception: captured ctrl+c

我尝试了不同的配置,同时具有双重异常处理和无信号处理功能,但是您总是可以通过点击CTRL+来获得不同的行为C

科利·布里格曼(Corley Brigman)

经典比赛条件。展开循环后,它看起来像这样:

while True:
    ....
    try:
       pass      <-----
    ....

while True:      <-----
    ....
    try:
        pass

在箭头之间的时间中,您实际上不在try / except子句中。因此,您应该期望两种不同的行为。

试试这个:

try:
    while True:
         pass
except....

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python 3的不确定行为

来自分类Dev

测试python函数的不确定行为

来自分类Dev

Python multiprocessing.Process行为不确定

来自分类Dev

python relativedelta中的不确定行为

来自分类Dev

cs 圈中的 7C-python 我还不确定这有什么问题

来自分类Dev

使用Python子进程时,为什么Ctrl-C不会产生与kill -2相同的行为?

来自分类Dev

为什么Ctrl-C的行为不同于kill -2的行为

来自分类Dev

如何在CentOS 7中将Ctrl + C永久更改为Ctrl + K?

来自分类Dev

CTRL + D与CTRL + C

来自分类Dev

Ctrl-C从python到bash

来自分类Dev

奇怪的维度行为:需要维度 2 和维度 3 不确定为什么

来自分类Dev

不确定的行为?

来自分类Dev

无法通过 Ctrl+C 或 Ctrl+Break 终止 Python 脚本

来自分类Dev

“不确定的行为”总是不确定的吗?

来自分类Dev

“不确定的行为”总是不确定的吗?

来自分类Dev

jline2如何处理CTRL + C

来自分类Dev

老派的CTRL + F行为

来自分类Dev

How to terminate loop gracefully when CTRL+C was pressed in python

来自分类Dev

在Python cmd模块中处理CTRL-C

来自分类Dev

Python Paramiko将CTRL + C发送到ssh shell

来自分类Dev

Python ctrl + c,如果提前终止,则执行功能

来自分类Dev

如何终止类似于ctrl-c的python进程?

来自分类Dev

为什么 Ctrl + C 不会杀死在终端中运行的 Python?

来自分类Dev

如何使用 Python cmd shell 捕获 ctrl+c

来自分类Dev

Ctrl + C键在TCP连接中的行为

来自分类Dev

gnome终端中的Ctrl-C行为

来自分类Dev

当Ctrl-Alt-F1 / F2 / ... F7不再起作用时,内核是否会惊慌?

来自分类Dev

为什么某些代码在Python2中是确定性的,而在Python 3中却是不确定性的?

来自分类Dev

没有不确定行为的C ++动态数组

Related 相关文章

热门标签

归档