Wie zu erkennen, zu Entkommen Tastendruck in Python?

Läuft bei mir ein Prozess in einem Kommando-Fenster (Windows 7, Python 3.1), wo ich möchte, dass der user, um den Vorgang abzubrechen drücken Sie die ESC-Taste. Allerdings, drücken Sie die ESC-Taste nicht angezeigt wird, etwas zu tun : - (die Schleife nie bricht. Ich habe auch versucht, läuft das Skript in meiner IDE (Flügel), aber wieder, wird die Schleife nicht unterbrochen werden kann.

Folgende ist eine abgespeckte version von meinem proof-of-concept-test...

import msvcrt
import time

aborted = False

for time_remaining in range(10,0,-1):
    # First of all, check if ESCape was pressed
    if msvcrt.kbhit() and msvcrt.getch()==chr(27):
        aborted = True
        break

    print(str(time_remaining))       # so I can see loop is working
    time.sleep(1)                    # delay for 1 second
#endfor timing loop

if aborted:
    print("Program was aborted")
else:
    print("Program was not aborted")

time.sleep(5)  # to see result in command window before it disappears!

Wenn jemand mir sagen könnte, wo ich vielleicht falsch läuft wäre ich sehr dankbar.

InformationsquelleAutor Alan Harris-Reid | 2011-02-28

Schreibe einen Kommentar