lenguaje - python tutorial
¿Por qué KeyboardInterrupt no funciona en python? (4)
Funciona.
Estoy usando Ubuntu Linux, ¿y tú? Pruébelo de nuevo usando algo como MaxVal = 10000000
¿Por qué no codifica como el siguiente CTRL-C?
MAXVAL = 10000
STEP_INTERVAL = 10
for i in range(1, MAXVAL, STEP_INTERVAL):
try:
print str(i)
except KeyboardInterrupt:
break
print "done"
Mi expectativa es: si se presiona CTRL-C mientras el programa está en ejecución, se supone que KeyboardInterrupt
debe abandonar el ciclo. No es asi.
¿Alguna ayuda sobre lo que estoy haciendo mal?
Parece que el programa ya está hecho cuando Control-c ha sido golpeado, pero su sistema operativo no ha terminado de mostrarle toda la salida. .
Se sale del lazo e imprime "hecho".
el flujo de código es el siguiente:
-
for
agarrar nuevo objeto de la lista (generado por elrange
) y lo establece a él -
try
-
print
- volver a
1
Si presionas CTRL-C en la parte 1, está fuera del try
/ except
, por lo que no detectará la excepción.
Pruebe esto en su lugar:
MaxVal = 10000
StepInterval = 10
try:
for i in range(1, MaxVal, StepInterval):
print i
except KeyboardInterrupt:
pass
print "done"