Python erhält Benutzereingaben mit Timeout
In diesem Tutorial wird das Abrufen von Eingaben von einem Benutzer mit einer Timeout-Periode unter Verwendung der Bibliothek inputtimeout
von Python erläutert.
Python erhält Benutzereingaben mit Timeout
Wenn wir innerhalb eines bestimmten Zeitraums, z. B. 5 Sekunden, Eingaben von einem Benutzer entgegennehmen möchten, können wir die inputtimeout
-Bibliothek von Python verwenden. Wir können pip
verwenden, um diese Bibliothek mit der folgenden Codezeile zu installieren.
pip install inputimeout
Wir können diesen Befehl in PowerShell oder einer Eingabeaufforderung ausführen, um die inputtimeout
-Bibliothek zu installieren. Stellen Sie sicher, dass pip
installiert und zum PATH
hinzugefügt wurde, bevor Sie den obigen Befehl ausführen.
Wenn pip
nicht zum Pfad hinzugefügt wird, müssen wir den vollständigen Pfad zur Datei pip.exe
zusammen mit ihrem Namen angeben, um sie in der PowerShell
oder der Eingabeaufforderung zu verwenden. Die Beispielverwendung wird unten gezeigt.
C:\Users\ammar\AppData\Local\Programs\Python\Python39\Scripts\pip.exe install inputimeout
Wenn inputtimeout
fehlerfrei installiert ist, können wir die Module inputtimeout
und TimeoutOccured
importieren, um sie in unserem Code zu verwenden. Die Funktion inputtimeout()
nimmt Eingaben vom Benutzer entgegen und wir können darin zwei Argumente übergeben.
Das erste Argument, prompt
, ist die Nachricht, die wir dem Benutzer zeigen wollen, während wir Eingaben entgegennehmen; Dieses Argument ist optional. Das zweite Argument timeout
wird verwendet, um die Zeit in Sekunden einzustellen, und die Funktion wartet bis zur angegebenen Zeit. Danach wird eine Ausnahme ausgelöst, und wir können den Ausnahmenamen TimeoutOccured
verwenden, den wir mit der try-except
-Anweisung verwenden können, um einen Fehler zu vermeiden.
from inputimeout import inputimeout, TimeoutOccurred
try:
user_input = inputimeout(prompt="Enter input: \n", timeout=5)
except TimeoutOccurred:
user_input = "you have not entered any input"
print(user_input)
Ausgang:
Enter input:
you have not entered any input
Im obigen Code haben wir die try-except
-Anweisung von Python verwendet, um die Ausnahme zu vermeiden, wenn der Benutzer in der angegebenen Zeit keine Eingabe gemacht hat. Wir haben den Namen der Ausnahme verwendet, um die Eingabe auf etwas anderes festzulegen, z. B. einen Standardwert.
Wenn der Benutzer eine Eingabe vornimmt, wird diese gedruckt, und wenn der Benutzer während des angegebenen Zeitlimits keine Eingabe vornimmt, wird die Standardeingabe gedruckt. Die Eingabe wird in der Variable user_input
gespeichert.
Überprüfen Sie diesen Link für weitere Details über die inputtimeout
-Bibliothek.