Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich die Druckausgabe von Python in eine Datei umleiten und warum kann dies fehlschlagen?

Wie kann ich die Druckausgabe von Python in eine Datei umleiten und warum kann dies fehlschlagen?

Barbara Streisand
Freigeben: 2024-11-28 21:28:12
Original
442 Leute haben es durchsucht

How Can I Redirect Python's Print Output to a File and Why Might It Fail?

Ausgabeumleitung für Python-Code

Die Abfrage konzentriert sich auf die Umleitung von Druckanweisungen in eine bestimmte Textdatei mithilfe von Python. Trotz der Verwendung der sys.stdout-Technik bleibt die Zieldatei leer. Ziel dieses Artikels ist es, das Problem zu untersuchen und alternative Lösungen bereitzustellen.

Verwendung von Dateiobjekten für die Ausgabe

Der einfachste Ansatz besteht darin, direkt in ein Dateiobjekt zu schreiben:

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

Standardausgabe umleiten

Alternativ kann die Standardausgabe umgeleitet werden kann mit dem folgenden Code erreicht werden:

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

Einsatz des Standardbibliotheks-Kontextmanagers

Für Python 3.4 und höher kann ein dedizierter Kontextmanager diesen Prozess vereinfachen:

from contextlib import redirect_stdout

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

Externe Ausgabeumleitung

Umleitung der Ausgabe Extern über die Shell ist eine weitere praktikable Option:

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

Zusätzliche Überlegungen

  • Überprüfen Sie die Verfügbarkeit von Bamfiles innerhalb des angegebenen Pfads mithilfe von glob.glob.
  • Verwenden Sie os.path.join und os.path.basename für effiziente Pfad- und Dateinamen Manipulation.

Das obige ist der detaillierte Inhalt vonWie kann ich die Druckausgabe von Python in eine Datei umleiten und warum kann dies fehlschlagen?. 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