Bearbeiten von Eingaben mit Standardwerten in Python
Beim Akzeptieren von Benutzereingaben mit der Funktion input() ist es oft wünschenswert, einen Standardwert bereitzustellen das als Platzhalter oder Ausgangspunkt dient. In diesem Fall möchte ein Benutzer Eingaben für einen Ordnernamen mit dem Standardwert „Download“ akzeptieren, dem Benutzer jedoch ermöglichen, ihn einfach durch Hinzufügen oder Entfernen von Zeichen zu bearbeiten.
Die Standardeingabe() und raw_input( )-Funktionen unterstützen dieses Verhalten standardmäßig nicht. Auf Linux-Systemen bietet jedoch das Readline-Modul eine Lösung.
Readline verwenden
Das Readline-Modul bietet erweiterte Zeilenbearbeitungsfunktionen. Durch die Definition einer benutzerdefinierten Eingabefunktion, die readline verwendet, können Sie das gewünschte Verhalten erreichen. Hier ist ein Beispiel:
<code class="python">import readline def rlinput(prompt, prefill=''): readline.set_startup_hook(lambda: readline.insert_text(prefill)) try: return input(prompt) # or raw_input in Python 2 finally: readline.set_startup_hook()</code>
In dieser Funktion:
Verwendung
Um diese Funktion zu verwenden, ersetzen Sie einfach den Standardaufruf input() durch die Funktion rlinput():
<code class="python">folder = rlinput('Folder name: ', 'Download')</code>
Dadurch wird die Eingabeaufforderung „Ordnername: Download“ mit dem vorab ausgefüllten Text „Download“ angezeigt. Wenn der Benutzer die Eingabetaste drückt, ohne Änderungen vorzunehmen, wird der Standardwert als „Download“ gespeichert. Wenn der Benutzer die Standardeinstellung bearbeiten möchte, kann er den vorab ausgefüllten Text einfach überschreiben oder Zeichen hinzufügen.
Das obige ist der detaillierte Inhalt vonWie kann ich in Python Standardwerte für Benutzereingaben mit Bearbeitungsfunktionen bereitstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!