2017-12-30 10 views
0

Ich habe einen Code mit einer Schleife für einige Eingabe fragen und dann für einige Zeit schläft. Der Zweck besteht darin, menschliche Fehler zu vermeiden und den Benutzer dazu zu zwingen, vor dem Eingeben der nächsten Eingabe zu warten. Das Problem ist, dass Python die Tastatureingaben während time.sleep nicht ignoriert. HierIgnorieren Tastatureingabe in Python während des Schlafens

ist ein Beispiel-Code:

from time import sleep 
from msvcrt import getch 

for i in range(3): 
    print 'Enter a character' 
    char = getch() 
    sleep(2) 
    print char 

Wenn einige Zeichen Drücken nacheinander während time.sleep(), msvcrt.getch() speichert sie und die Schleife läuft bis zum Ende. Ich möchte, dass jedes im Schlaf gedrückte Zeichen ignoriert wird. Wie kann ich das machen?

Antwort

0

Sorry für falsche Antwort, die ich zuvor gepostet habe (wie ich aber gelöscht habe), ist es das menschliche Niveau Problem, das Sie verlangen.

Der Programm-Thread ist das einzige Ereignis, das in den Ruhezustand versetzt wird, während der Tastaturprozess noch läuft. Offensichtlich werden alle Eingaben aufgezeichnet und nach dem Fortsetzen des Ruhezustands eingegeben.

Dies kann auf diese Weise nicht erreicht werden

Verwandte Themen