Ya no necesitas investigar más por otros sitios porque llegaste al espacio correcto, poseemos la respuesta que necesitas sin complicaciones.
Solución:
Sé que esta es una vieja pregunta, pero me encontré con el mismo problema y creo que hay una solución más fácil:
En PyCharm, vaya a “Ejecutar”/”Editar configuraciones” y marque “Emular terminal en la consola de salida”. PyCharm ahora acepta interrupciones de teclado (asegúrese de que la consola esté enfocada).
Probado en: PyCharm 2019.1 (Edición comunitaria)
De su captura de pantalla parece que está ejecutando este código en un IDE. Lo que pasa con los IDE es que no son lo mismo que se ejecutan normalmente, especialmente cuando se trata de manejar los caracteres del teclado. La forma en que presiona ctrl-c, su IDE cree que desea copiar el texto. El programa Python nunca ve el carácter. ¿Quizás abre una ventana separada cuando se ejecuta? Luego seleccionaría esa ventana antes de ctrl-c.
La consola Python de PyCharm plantea la excepción console_thrift.KeyboardInterruptException
en Ctrl-C en lugar de KeyboardInterrupt
. La excepción console_thrift.KeyboardInterruptException
no es una subclase de KeyboardInterrupt
por lo tanto no atrapado por la línea except KeyboardInterrupt
.
Agregar las siguientes líneas haría que su secuencia de comandos sea compatible con PyCharm.
try:
from console_thrift import KeyboardInterruptException as KeyboardInterrupt
except ImportError:
pass
Esto no rompería la compatibilidad con la ejecución del script en una terminal u otro IDE, como IDLE o Spyder, ya que el módulo console_thrift
se encuentra solo dentro de PyCharm.
Recuerda que te permitimos añadir una estimación verdadera si te fue útil.