Leiten Sie die Druckausgabe in eine Datei in Python um

Lakshay Kapoor 30 Januar 2023
  1. Verwenden Sie die Funktion write(), um die Ausgabe in eine Datei in Python zu drucken
  2. Verwenden Sie die Funktion print(), um die Ausgabe in eine Datei in Python zu drucken
  3. Verwenden Sie sys.stdout, um die Ausgabe in eine Datei in Python zu drucken
  4. Verwenden Sie die Funktion contextlib.redirect_stdout(), um die Ausgabe in eine Datei in Python zu drucken
Leiten Sie die Druckausgabe in eine Datei in Python um

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 avatar Lakshay Kapoor avatar

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

Verwandter Artikel - Python Print