So lesen Sie von stdin in Python

How Read From Stdin Python



Die Eingabe von Benutzereingaben ist ein wichtiger Bestandteil jeder Programmiersprache. Die Ausgabe der vielen Programme hängt von der Standardeingabe ab. Die Art und Weise der Eingabe von Benutzereingaben ist für verschiedene Programmiersprachen unterschiedlich. In Python gibt es viele Möglichkeiten, von der Standardeingabe zu lesen. Die input()-Funktion ist die gebräuchlichste Methode, von der Standardeingabe zu lesen, bei der es sich um eine integrierte Funktion handelt. Die sys.stdin eine andere Möglichkeit besteht darin, die Anrufe von der Standardeingabe zu lesen input()-Funktion im Inneren. Python hat ein anderes Modul namens Dateieingabe zum Lesen der Standardeingabe. Die input()-Funktion dieses Moduls kann zum Lesen von Standardeingaben oder zum Lesen von Inhalten aus einer oder mehreren Dateien verwendet werden. In diesem Tutorial wurden verschiedene Möglichkeiten zum Lesen aus der Standardeingabe in Python erläutert.

Beispiel-1: Daten aus stdin mit der Funktion input() lesen

Die Funktion input() ist die am häufigsten verwendete Funktion, um Eingaben vom Benutzer anzunehmen. Erstellen Sie eine Python-Datei mit dem folgenden Skript, um Eingaben vom Benutzer zu übernehmen, bis die Taste 'n' gedrückt wird. Hier wird mit der while-Schleife eine Endlosschleife erstellt. Die erste Funktion input() wird verwendet, um die Daten vom Benutzer zu übernehmen, 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 das Skript zu verlassen. Wenn der Benutzer 'n' oder 'N' drückt, wird die Iteration der Schleife durch die break-Anweisung gestoppt; andernfalls wird die Schleife erneut durchlaufen und eine weitere Eingabe vom Benutzer annehmen. Die Funktion upper() wird im Skript verwendet, um den vom Benutzer angegebenen Wert groß zu schreiben.







# Definiere eine Endlosschleife

während Wahr:

# Nehmen Sie Eingaben vom Benutzer entgegen

Eingabewert= Eingang('Geben Sie einen beliebigen Text ein: ')

# Eingabewert drucken

drucken('Der Eingabewert ist %s'%(Eingabewert))

# Nach der nächsten Iteration fragen

nextInput= Eingang('Wollen Sie fortfahren? (J/N)')

# Beende die Schleife, wenn 'n' gedrückt wird

wennnächsteEingabe.Oberer, höher() == 'N':

brechen

# Drucken Sie die Kündigungsnachricht aus

drucken('Programm beendet.')

Ausgabe:

Die folgende ähnliche Ausgabe wird angezeigt, nachdem das obige Skript ausgeführt wurde. Hier, ' LinuxHinweis ‘ hat als erster Eingabewert angegeben und aus dem Skript zum Drücken des Zeichens ‘n’ beendet.





Beispiel-2: Lesen von Daten aus stdin mithilfe von sys.stdin

Die sys.stdin ist eine weitere Option von Python, um Standardeingaben von den Benutzern vom Terminal zu übernehmen. Es ruft intern die Funktion input() auf und fügt hinzu: ‘ nach der Eingabe. Erstellen Sie eine Python-Datei mit dem folgenden Skript, um die Verwendung des sys.stdin um Standardeingaben zu übernehmen. Hier wird die „for-in“-Schleife verwendet, um die Eingaben des Benutzers unendlich oft aufzunehmen, bis der Benutzer das Skript beenden möchte. Nach dem Drucken des Eingabewertes wird die input()-Funktion wird verwendet, um den Benutzer aufzufordern, das Skript zu stoppen oder nicht. Das Skript wird beendet, wenn der Benutzer ‘ und ' oder ' UND ‘. Die obere() Funktion wird hier auch verwendet, um den Eingabewert groß zu schreiben.





# sys-Modul importieren

importieren sys


drucken('Beliebigen Text eingeben:')


# Nehmen Sie Eingaben mit stdin . entgegen

zumEingabewertin sys.stdin:

# Eingabewert drucken

drucken('Der Eingabewert ist:%s'% Eingabewert)


# Nach der nächsten Iteration fragen

nextInput= Eingang(„Möchtest du kündigen? (J/N)')

# Beende die Schleife, wenn 'y/Y' gedrückt wird

wennnächsteEingabe.Streifen().Oberer, höher() == 'UND':

brechen

anders:

drucken('Beliebigen Text eingeben:')

Ausgabe:

Die folgende ähnliche Ausgabe wird angezeigt, nachdem das obige Skript ausgeführt wurde. Hier, ' Python-Programmierung ‘ hat als erster Eingabewert angegeben und aus dem Skript zum Drücken des Zeichens ‘y’ beendet.



Beispiel-3: Lesen von Daten aus stdin mithilfe von fileinput

Die Dateieingabe ist ein weiteres Modul von Python, das Standardeingaben entgegennimmt. Die Textzeilen können aus dem Terminal oder einer Datei mit entnommen werden fileinput.input() . Wenn in dieser Funktion kein Argumentwert angegeben wird, nimmt sie die Eingabe vom Terminal entgegen, und wenn der Name einer vorhandenen Datei als Argumentwert angegeben wird, nimmt sie die Eingabe aus der Datei. Erstellen Sie mit dem folgenden Skript eine Python-Datei, um die Standardeingabe vom Terminal zu übernehmen. Hier wird die 'for-in'-Schleife als vorheriges Beispiel verwendet, um unendlich viele Eingaben vorzunehmen, bis der Benutzer das Skript beenden möchte. 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 „Beenden“ . Die obere() Funktion wird hier auch verwendet, um den Eingabewert groß zu schreiben. Die strip()-Funktion wird verwendet, um die zusätzlichen Leerzeichen von beiden Seiten des Eingabewerts zu entfernen.

# Dateieingabemodul importieren

importieren Dateieingabe


drucken('Text eingeben:')

'''

Nehmen Sie Eingaben mit der Funktion fileinput.input() entgegen und

Drücken Sie Strg+D, um die Eingabe des Eingabewertes abzuschließen

'''


zumEingabewertin Dateieingabe.Eingang():

# Beende die Schleife, wenn 'quit' eingegeben wird

wennEingabeVal.Streifen().Oberer, höher() == 'VERLASSEN':

brechen


# Eingabewert drucken

drucken('Der Eingabewert ist:',Eingabewert)

drucken('Text eingeben:')

Ausgabe:

Die folgende ähnliche Ausgabe wird angezeigt, nachdem das obige Skript ausgeführt wurde. Hier hat ‚Lernen Python von LinuxHint.com‘ als erster Eingabewert angegeben und aus dem Skript für die Eingabe des Wortes ‚quit‘ beendet. Sie müssen sich an eines erinnern, wenn Sie Eingaben vom Terminal mit der Dateieingabe Modul. Das heißt, Sie müssen Strg+D drücken, nachdem Sie die Eingabe vorgenommen haben.

Sie müssen den Dateinamen als Argumentwert des angeben fileinput.input() Funktion, wenn Sie Daten aus der Datei statt aus dem Terminal nehmen möchten.

Abschluss:

In diesem Tutorial wurden anhand von drei einfachen Beispielen drei verschiedene Möglichkeiten gezeigt, Eingaben vom Terminal entgegenzunehmen. Für die Nutzung ist kein Modul erforderlich input()-Funktion um die Eingabe zu übernehmen. Das sys-Modul wird für den Import benötigt sys.stdin , und der Dateieingabemodul ist für den Import erforderlich fileinput.input() im Skript, um die Standardeingabe zu verwenden. Ich hoffe, dass die Python-Benutzer nach dem Lesen dieses Tutorials die Standardeingabe basierend auf ihren Anforderungen verwenden.