Mehrzeilige Eingaben von Benutzern in Python erhalten
Eingabeverarbeitung kann in vielen Programmierszenarien eine entscheidende Aufgabe sein. Python 3 hat im Vergleich zu Python 2 mehrere Änderungen eingeführt, und ein bemerkenswerter Unterschied ist das überarbeitete Verhalten der Funktion input(). In Python 3 liest input() nur eine einzige Eingabezeile und gibt sie zurück, was bei der Arbeit mit mehreren Datenzeilen zu Schwierigkeiten führt.
Warum nicht raw_input() verwenden?
In Python 2 verarbeitete die Funktion raw_input() mehrzeilige Eingaben effektiv. Aufgrund bestimmter Sicherheitsbedenken und der Präferenz für einen konsistenteren Ansatz zur Eingabeverarbeitung wurde raw_input() in Python 3 jedoch veraltet.
Alternativen für mehrzeilige Eingaben
An Um dieses Problem zu beheben und eine effiziente Verarbeitung mehrzeiliger Eingaben zu ermöglichen, stehen in Python 3 zwei Hauptalternativen zur Verfügung:
1. Schleife mit input() und EOF-Behandlung:
Diese Methode beinhaltet das Erstellen einer Schleife und das wiederholte Lesen von Eingaben, bis das Dateiende (EOF) erreicht wird. Um EOF korrekt zu verarbeiten, kann die EOFError-Ausnahme von Python verwendet werden.
print("Enter/Paste your content. Ctrl-D or Ctrl-Z (windows) to save it.") contents = [] while True: try: line = input() except EOFError: break contents.append(line)
2. Mit sys.stdin.readlines():
Diese Methode liest die gesamte Eingabe von stdin (normalerweise die Tastatureingabe des Benutzers) und gibt eine Liste von Zeilen zurück.
import sys contents = sys.stdin.readlines()
In Fazit: Während raw_input() in Python 3 nicht mehr verfügbar ist, gibt es alternative Ansätze, die eine effiziente Verarbeitung mehrzeiliger Eingaben ermöglichen. Mithilfe dieser Methoden können Entwickler ihre Anforderungen an die Eingabeverarbeitung in Python 3 effektiv lösen.
Das obige ist der detaillierte Inhalt vonWie gehe ich mit mehrzeiligen Eingaben in Python 3 um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!