Standard input and output in Python

You are here:

Standardausgabe (stdout) mit print()

Die einfachste Methode, um Daten in Python auszugeben, ist die Verwendung der `print()`-Funktion. Diese gibt Text auf der Standardausgabe (stdout) aus, normalerweise dem Terminal oder der Konsole, in der das Skript ausgeführt wird.

Beispiel:

print("Hallo, Welt!")

Standardausgabe (stdout) mit sys.stdout.write()

Alternativ kannst Du die `write()`-Methode von `sys.stdout` verwenden, um Text auf der Standardausgabe auszugeben. Im Gegensatz zu `print()` fügt `sys.stdout.write()` jedoch keinen Zeilenumbruch am Ende der Ausgabe hinzu.

Beispiel:

import sys

sys.stdout.write("Hallo, Welt!")

sys.stdout.write("Hier ist noch mehr Text.")

Standardeingabe (stdin) mit input()

Um Daten von der Standardeingabe (stdin) in Python zu lesen, kannst Du die `input()`-Funktion verwenden. Diese liest eine Zeile der Eingabe und gibt sie als Zeichenkette zurück.

Beispiel:

name = input("Bitte gib Deinen Namen ein: ")

print(f"Hallo, {name}!")

Standardeingabe (stdin) mit sys.stdin.readline()

Alternativ kannst Du die `readline()`-Methode von `sys.stdin` verwenden, um Zeilen von der Standardeingabe zu lesen. Beachte, dass `readline()` den abschließenden Zeilenumbruch in der zurückgegebenen Zeichenkette beibehält.

Beispiel:

import sys

sys.stdout.write("Bitte gib Deinen Namen ein: ")

name = sys.stdin.readline().strip()

sys.stdout.write(f"Hallo, {name}!\n")

Umleitung von stdin und stdout

In vielen Fällen möchtest Du vielleicht die Standardausgabe oder -eingabe auf Dateien oder andere Ressourcen umleiten. Du kannst dies tun, indem Du die Referenzen von `sys.stdin` und `sys.stdout` änderst.

Beispiel:

import sys

with open("output.txt", "w") as output_file:

    sys.stdout = output_file

    print("Dieser Text wird in der Datei 'output.txt' gespeichert.")

sys.stdout = sys.__stdout__

print("Dieser Text wird auf der Standardausgabe angezeigt.")

Anwendungsfälle für Standard input und output

Einige Anwendungsfälle für die Verwendung von Standard input und output sind:

– Interaktive Skripte: Du kannst Standardeingabe und -ausgabe verwenden, um Benutzereingaben anzufordern und Ergebnisse oder Fehlermeldungen auszugeben.

– Pipe-Operationen: In Unix-ähnlichen Betriebssystemen können Skripte, die stdin und stdout verwenden, als Teil von Pipe-Operationen eingesetzt werden, um Daten zwischen verschiedenen Prozessen zu übertragen.

– Logging und Debugging: Du kannst die Standardausgabe verwenden, um Diagnoseinformationen oder Protokolle während der Ausführung eines Skripts auszugeben.

Standardfehler (stderr) mit sys.stderr.write()

Die Standardfehlerausgabe (stderr) ist ein weiterer Ausgabekanal, der häufig für Fehlermeldungen oder Debugging-Informationen verwendet wird. Du kannst die `write()`-Methode von `sys.stderr` verwenden, um Text auf der Standardfehlerausgabe auszugeben.

Beispiel:

import sys

sys.stderr.write("Dies ist eine Fehlermeldung.\n")

Die Standardfehlerausgabe ist von der Standardausgabe getrennt, sodass Du die beiden Kanäle unabhängig voneinander verwenden kannst. In vielen Terminalumgebungen wird der Text, der auf stderr geschrieben wird, in einer anderen Farbe angezeigt, um ihn von der normalen Ausgabe abzuheben.

Umleitung von stderr

Wie bei stdin und stdout kannst Du auch die Standardfehlerausgabe umleiten, indem Du die Referenz von `sys.stderr` änderst.

Beispiel:

import sys

with open("error_log.txt", "w") as error_log_file:

    sys.stderr = error_log_file

    sys.stderr.write("Dies ist eine Fehlermeldung.\n")

sys.stderr = sys.__stderr__

sys.stderr.write("Dies ist eine weitere Fehlermeldung.\n")

In diesem Beispiel wird die erste Fehlermeldung in der Datei “error_log.txt” gespeichert, während die zweite Fehlermeldung auf der Standardfehlerausgabe angezeigt wird.

Fazit

Die Standardfehlerausgabe (stderr) ist ein nützliches Werkzeug für die Ausgabe von Fehlermeldungen oder Debugging-Informationen in Python-Skripten. Zusammen mit stdin und stdout bietet sie einen flexiblen Ansatz zur Kommunikation zwischen Skripten, Benutzern und externen Ressourcen. Das Verständnis der verschiedenen Funktionen und Methoden zum Arbeiten mit diesen I/O-Kanälen ermöglicht es Dir, leistungsfähige und interaktive Python-Anwendungen zu erstellen.

Support Seven Courses!

Lorem ipsum dolor sit amet consectetur elit dolor
donate