Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich die „print'-Ausgabe von Python in eine Datei umleiten?

Wie kann ich die „print'-Ausgabe von Python in eine Datei umleiten?

Susan Sarandon
Freigeben: 2024-12-01 07:39:11
Original
166 Leute haben es durchsucht

How Can I Redirect Python's `print` Output to a File?

„Druck“-Ausgabe in eine Datei umleiten

Beim Versuch, die „Druck“-Ausgabe in eine Textdatei in Python umzuleiten, kann es sein, dass Benutzer stoßen auf Herausforderungen, wenn sich ihr Code nicht wie erwartet verhält. In solchen Fällen kann die Verwendung von sys.stdout zum Umleiten der Ausgabe zu unerwarteten Ergebnissen führen.

Ein einfacher und empfohlener Ansatz besteht darin, direkt in ein Dateiobjekt zu drucken:

with open('out.txt', 'w') as f:
    print('Filename:', filename, file=f)  # Python 3.x
    # print >> f, 'Filename:', filename   # Python 2.x
Nach dem Login kopieren

Alternativ z B. ein einmaliges Skript, kann die Umleitung von „sys.stdout“ geeignet sein:

import sys

orig_stdout = sys.stdout
f = open('out.txt', 'w')
sys.stdout = f

for i in range(2):
    print('i = ', i)

sys.stdout = orig_stdout
f.close()
Nach dem Login kopieren

Seit Python 3.4 bietet die Standardbibliothek eine Kontextmanager, der diese Aufgabe vereinfacht:

from contextlib import redirect_stdout

with open('out.txt', 'w') as f:
    with redirect_stdout(f):
        print('data')
Nach dem Login kopieren

Eine externe Umleitung von der Shell kann ebenfalls eine effektive Option sein:

./script.py > out.txt
Nach dem Login kopieren

Um potenzielle Probleme zu beheben, sollten Sie den ersten Dateinamen im Skript überprüfen , die möglicherweise nicht initialisiert wird. Darüber hinaus kann die Überprüfung, ob der Ordner vorhanden ist, und das Ausdrucken von „Bamfiles“ dabei helfen, etwaige Probleme bei der Dateierkennung zu erkennen. Für optimale Codeklarheit wird die Verwendung von „os.path.join“ und „os.path.basename“ zur Pfad- und Dateinamenmanipulation empfohlen.

Das obige ist der detaillierte Inhalt vonWie kann ich die „print'-Ausgabe von Python in eine Datei umleiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage