Leiten Sie die Druckausgabe in eine Datei in Python um
-
Verwenden Sie die Funktion
write()
, um die Ausgabe in eine Datei in Python zu drucken -
Verwenden Sie die Funktion
print()
, um die Ausgabe in eine Datei in Python zu drucken -
Verwenden Sie
sys.stdout
, um die Ausgabe in eine Datei in Python zu drucken -
Verwenden Sie die Funktion
contextlib.redirect_stdout()
, um die Ausgabe in eine Datei in Python zu drucken
Es gibt noch eine weitere Art von Aufgabe bei der Dateibehandlung, die mit Python erledigt werden kann, dh die Ausgabe in eine externe Datei umleiten. Grundsätzlich kann eine Standardausgabe in eine vom Benutzer selbst gewählte Datei ausgegeben werden. Es gibt viele Möglichkeiten, dies durchzuführen.
In diesem Tutorial sehen wir einige Methoden zum Umleiten der Ausgabe in eine Datei in Python.
Verwenden Sie die Funktion write()
, um die Ausgabe in eine Datei in Python zu drucken
Dies ist eine integrierte Python-Funktion, die beim Schreiben oder Hinzufügen eines bestimmten Textes in eine Datei hilft. w
und a
sind die 2 Operationen in dieser Funktion, die einen beliebigen Text in eine Datei schreiben oder hinzufügen. w
wird verwendet, wenn der Benutzer die Datei leeren möchte, bevor er etwas hineinschreibt. Während a
verwendet wird, wenn der Benutzer nur Text zum vorhandenen Text in der Datei hinzufügen möchte.
Beispiel:
with open("randomfile.txt", "a") as o:
o.write("Hello")
o.write("This text will be added to the file")
Beachten Sie, dass hier die Funktion open()
verwendet wird, um die Datei zu öffnen. a
im Code bedeutet, dass der Datei Text hinzugefügt wurde.
Verwenden Sie die Funktion print()
, um die Ausgabe in eine Datei in Python zu drucken
Bei dieser Methode rufen wir zunächst die Funktion open()
auf, um die gewünschte Datei zu öffnen. Danach wird die Funktion print()
verwendet, um den Text in der Datei zu drucken. Es ist immer die Wahl des Benutzers, entweder den Operator w
oder den Operator a
zu verwenden.
Beispiel:
with open("randomfile.txt", "w") as external_file:
add_text = "This text will be added to the file"
print(add_text, file=external_file)
external_file.close()
Beachten Sie, dass die Funktion close()
auch zum Schließen der Datei im obigen Code verwendet wird, nachdem sie mit open()
geöffnet wurde. Nach Aufruf der Funktion close()
kann die Datei nicht gelesen und sonst nichts geschrieben werden. Wenn der Benutzer versucht, nach Aufruf der Funktion close()
eine Änderung in der Datei vorzunehmen, wird ein Fehler ausgegeben.
Verwenden Sie sys.stdout
, um die Ausgabe in eine Datei in Python zu drucken
Das Modul sys
ist ein eingebautes Python-Modul, das vom Benutzer verwendet wird, um mit verschiedenen Teilen der Laufzeitumgebung in Python umzugehen. Um sys.stdout
zu verwenden, muss zuerst das Modul sys
importiert werden.
sys.stdout
wird verwendet, wenn der Benutzer die Ausgabe direkt auf der Hauptkonsole des Bildschirms anzeigen möchte. Die Form der Ausgabe kann variiert werden, beispielsweise eine Eingabeaufforderung, eine Druckanweisung oder nur ein Ausdruck. Bei dieser Methode drucken wir eine Anweisung in einer Textdatei.
Beispiel:
import sys
file_path = "randomfile.txt"
sys.stdout = open(file_path, "w")
print("This text will be added to the file")
Beachten Sie, dass vor der Verwendung von sys.stdout
als Objekt zum Öffnen und Drucken der Anweisung in der Textdatei ein eindeutiger Pfad der Datei vom Benutzer definiert werden muss, andernfalls kann keine der Operationen an der Datei ausgeführt werden.
Verwenden Sie die Funktion contextlib.redirect_stdout()
, um die Ausgabe in eine Datei in Python zu drucken
Das Modul contextlib
wird im Allgemeinen mit der with
-Anweisung verwendet.
Die Funktion contextlib.redirect_stdout()
hilft, sys.stdout
temporär in eine Datei umzuleiten, indem ein Kontext-Manager eingerichtet wird.
Beispiel:
import contextlib
file_path = "randomfile.txt"
with open(file_path, "w") as o:
with contextlib.redirect_stdout(o):
print("This text will be added to the file")
Wie Sie sehen, wird die Anweisung with
mit den Operationen des Moduls contextlib
verwendet.
Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.
LinkedIn