Python erhält Benutzereingaben mit Timeout

Ammar Ali 21 Juni 2023
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.

Autor: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

Verwandter Artikel - Python Input