Wie man aus Stdin in Python liest

Wie man aus Stdin in Python liest

Nehmen Sie die Eingabe des Benutzers ein wichtiger Bestandteil jeder Programmiersprache. Die Ausgabe der vielen Programme hängt vom Standardeingang ab. Die Möglichkeit, den Benutzer Eingaben zu nehmen, ist für verschiedene Programmiersprachen unterschiedlich. In Python gibt es viele Möglichkeiten, aus dem Standardeingang zu lesen. Der input () Funktion ist die häufigste Möglichkeit, aus der Standardeingabe aus zu lesen, bei der es sich um eine integrierte Funktion handelt. Der sys.Stdin Eine andere Möglichkeit ist, aus den Standardeingaben die Anrufe zu lesen input () Funktion im Inneren. Python hat ein anderes Modul namens namens DateiInput Zum Lesen des Standardeingangs. Der input () Funktion dieses Moduls kann verwendet werden, um Standardeingaben zu lesen oder Inhalte aus einer oder mehreren Dateien zu lesen. In diesem Tutorial wurden verschiedene Möglichkeiten zum Lesen der Standardeingabe in Python erläutert.

EXAMPE-1: Lesen Sie Daten von STDIN mithilfe von Input () -Funktion

Die Funktion input () ist die am häufigsten verwendete Funktion, die Eingabe vom Benutzer entnimmt. Erstellen Sie eine Python -Datei mit dem folgenden Skrip. Hier wird eine unendliche Schleife erstellt, indem die while -Schleife verwendet wird. Die erste input () -Funktion wird verwendet, um die Daten vom Benutzer zu nehmen, und die Funktion print () wird verwendet, um den Eingabewert zu drucken. Als nächstes wird die Funktion input () des Skripts verwendet, um den Benutzer aufzufordern, die Aufgabe erneut fortzusetzen oder aus dem Skript zu beenden. Wenn der Benutzer 'n' oder 'n' drückt, wird die Iteration der Schleife durch die Break -Anweisung gestoppt. Andernfalls wird die Schleife erneut iteriert und einen weiteren Eingang vom Benutzer nimmt. Die obere () -Funktion wird im Skript verwendet, um den vom Benutzer angegebenen Wert zu profitieren.

# Definieren Sie eine unendliche Schleife
während wahr:
# Nehmen Sie die Eingabe vom Benutzer
inputVal = input ("Geben Sie einen beliebigen Text ein: \ n")
# Drucken Sie den Eingangswert
Druck ("Der Eingangswert ist %s" %(Inputval))
# Fragen Sie nach der nächsten Iteration
NextInput = Input ("Möchten Sie fortfahren? (Y/n) ")
# Beenden Sie aus der Schleife, wenn 'n' gedrückt wird
Wenn NextInput.ober () == 'n':
brechen
# Drucken Sie die Beendigung Nachricht
drucken ("Programm gekündigt."))

Ausgang:

Die folgende ähnliche Ausgabe wird nach der Ausführung des obigen Skripts angezeigt. Hier, 'LinuxHint"hat als erster Eingabegerteil angegeben und aus dem Skript zum Drücken des Zeichens 'n' gekündigt und aus dem Skript gekündigt.

Beispiel-2: Lesen Sie Daten von STDIN unter Verwendung von SYS.Stdin

Der sys.Stdin ist eine weitere Option von Python, die Standardeingaben von den Benutzern aus dem Terminal zu nehmen. Es ruft die Input () -Funktion intern auf und fügt hinzu ''\N'Nach dem Eingang der Eingabe. Erstellen Sie eine Python -Datei mit dem folgenden Skript, um die Verwendung des sys.Stdin Standardeingang nehmen. Hier wird die 'for-In'-Schleife verwendet, um die Eingabe von den Benutzer infinite Zeiten zu nutzen, bis der Benutzer das Skript beenden möchte. Nach dem Drucken des Eingangswerts die input () Funktion wird verwendet, um den Benutzer zu bitten, das Skript zu stoppen oder nicht. Das Skript wird beendet, wenn der Benutzer drückt 'y' oder 'Y''. Der ober () Funktion wird hier auch verwendet, um den Eingangswert zu profitieren.

# SYS -Modul importieren
Importsystem
print ("Geben Sie einen beliebigen Text ein:")
# Eingabe mit Stdin eingeben
für Inputval in sys.stdin:
# Drucken Sie den Eingangswert
print ('Der Eingangswert ist: % s' % Inputval)
# Fragen Sie nach der nächsten Iteration
NextInput = input ("Möchten Sie enden?? (Y/n) ")
# Beenden Sie aus der Schleife, wenn 'y/y' gedrückt wird
Wenn NextInput.Streifen().ober () == 'y':
brechen
anders:
print ("Geben Sie einen beliebigen Text ein:")

Ausgang:

Die folgende ähnliche Ausgabe wird nach der Ausführung des obigen Skripts angezeigt. Hier, 'Python -Programmierung"hat als erster Eingabegerteil angegeben und aus dem Skript gekündigt, um das Zeichen" y "zu drücken.

Beispiel-3: Lesen Sie Daten von STDIN mithilfe von FileInput verwendet

Der DateiInput ist ein weiteres Python -Modul, um Standardeingang zu erhalten. Die Textzeilen können aus dem Terminal oder einer Datei mithilfe verwendet werden DateiInput.Eingang(). Wenn in dieser Funktion kein Argumentwert angegeben ist, wird die Eingabe vom Terminal entnommen. Wenn der Name einer vorhandenen Datei als Argumentwert bereitgestellt wird, wird die Eingabe aus der Datei verwendet. Erstellen Sie eine Python -Datei mit dem folgenden Skript, um die Standardeingabe aus dem Terminal zu erhalten. Hier wird die 'for-in'-Schleife als vorheriges Beispiel verwendet. Als nächstes wird die Funktion input () verwendet, um den Benutzer aufzufordern, das Skript zu stoppen oder nicht. Das Skript wird beendet, wenn der Benutzer tippt '' beenden 'oder' beenden 'oder' aufhören '. Der ober () Funktion wird hier auch verwendet, um den Eingangswert zu profitieren. Der Strip () Funktion wird verwendet, um die zusätzlichen Räume von beiden Seiten des Eingangswerts zu entfernen.

# FileInput -Modul importieren
FileInput importieren
print ("den Text eingeben:")
"
Nehmen Sie die Eingabe mit FileInput ein.input () Funktion und
Drücken Sie Strg+D, um den Eingangswert zu beenden
"
Für InputVal in FileInput.Eingang():
# Beenden Sie aus der Schleife, wenn "beendet" eingegeben wird
Wenn Eingabeval.Streifen().ober () == "Quit":
brechen
# Drucken Sie den Eingangswert
print ("Der Eingangswert ist:", Inputval)
print ("den Text eingeben:")

Ausgang:

Die folgende ähnliche Ausgabe wird nach der Ausführung des obigen Skripts angezeigt. Hier lernen Sie Python von LinuxHint.Com 'hat als erster Eingabegerteil angegeben und aus dem Skript abgeschlossen, um das Wort "beenden" zu tippen. Sie müssen sich an eine Sache erinnern, während Sie Eingaben vom Terminal verwenden, mit dem DateiInput Modul. Das heißt, Sie müssen nach der Eingabe des Eingangs Strg+D drücken.

Sie müssen den Dateinamen als Argumentwert der angeben DateiInput.Eingang() Funktion, wenn Sie Daten anstelle des Terminals aus der Datei nehmen möchten.

Abschluss:

In diesem Tutorial wurden drei verschiedene Möglichkeiten zur Eingabe des Terminals unter Verwendung von drei einfachen Beispielen gezeigt. Für die Verwendung des Moduls ist kein Modul erforderlich input () Funktion zum Eingang der Eingabe. Das SYS -Modul muss für die Verwendung importiert werden sys.Stdin, und das FileInput -Modul ist erforderlich, um für die Verwendung zu importieren DateiInput.Eingang() im Skript, um Standardeingabe zu nehmen. Ich hoffe.