web-dev-qa-db-fra.com

Python - Une commande clavier pour arrêter la boucle infinie?

Duplicata possible:
Pourquoi ne puis-je pas gérer un KeyboardInterrupt en python?

Je jouais avec du code Python et j'ai créé une boucle infinie:

y = 0
x = -4

itersLeft = x
while(itersLeft<0):
    y = y + x
    itersLeft = itersLeft - 1
    print "y = ",y, "itersLeft = ", itersLeft

print y

Existe-t-il un raccourci clavier qui me permettrait d'arrêter la boucle - me permettant de corriger la boucle puis de la redémarrer?

J'ai essayé Ctrl+C et n'a pas eu de chance. Si cela aide, j'utilise un environnement Windows 7.

Merci.

[~ # ~] modifier [~ # ~]


J'aurais également dû mentionner que j'utilise Aptana Studio 3 et que j'ai tenté d'exécuter le Ctrl+C commande au sein de cela. Cela ne fonctionne pas là-bas - mais l'essayer dans la console régulière fonctionne très bien. Je suppose que cela doit être dû à l'environnement Aptana.

21
PhillipKregg

Ctrl+C est ce dont vous avez besoin. Si cela n'a pas fonctionné, frappez-le plus fort. :-) Bien sûr, vous pouvez aussi simplement fermer la fenêtre Shell.

Edit: Vous n'avez pas mentionné les circonstances. En dernier recours, vous pouvez écrire un fichier de commandes contenant taskkill /im python.exe, et placez-le sur votre bureau, dans le menu Démarrer, etc. et exécutez-le lorsque vous devez tuer un script incontrôlable. Bien sûr, cela tuera tous Python, alors soyez prudent.

32
kindall