Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich in Python Standardwerte für Benutzereingaben mit Bearbeitungsfunktionen bereitstellen?

Wie kann ich in Python Standardwerte für Benutzereingaben mit Bearbeitungsfunktionen bereitstellen?

DDD
DDDOriginal
2024-10-27 05:33:03794Durchsuche

How to Provide Default Values for User Input with Editing Capabilities in Python?

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:

  • rlinput(prompt, prefill) akzeptiert eine Eingabeaufforderung und einen optionalen Vorfüllwert.
  • readline.set_startup_hook legt einen Startup-Hook fest, der den Prefill-Wert in die Eingabeaufforderung einfügt.
  • input oder raw_input wird verwendet, um Benutzereingaben zu akzeptieren und die Bearbeitung des Prefills zu ermöglichen.
  • Der „finally“-Block setzt den Startup-Hook auf seinen Wert zurück Standardverhalten.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn