Wie leite ich die Ausgabe von Python in eine Datei um?


1

Ich möchte alle Ausgaben (stdout und stderr) der Konsole in die Textdatei umleiten. Ich mache die folgenden Schritte:

  1. Öffnen Sie cmd.exe
  2. Startbefehl:

    "python.exe"> "file.txt"

Danach warte ich auf die Ausgabe des Pythons in der Datei, aber es ist immer noch in der Konsole. Was mache ich falsch?


1
Sie haben vergessen, den Namen des Python-Programms anzugeben, etwa: python.exe program.py > file.txt
Dominique

4
Sie müssen > file.txt 2>&1erhalten stderrsowiestdout
DavidPostill

@ Dominique, Nein, ich habe es nicht vergessen. Ich möchte mit Python im interaktiven Modus arbeiten und Befehle über die Konsole senden, anstatt ein Skript zu schreiben.
Neo

1
Schauen Sie sich diesen Thread an - da ist viel, da ist es etwas knifflig. Der Fragesteller fügte Kommentare hinzu, um zusammenzufassen, was für ihn nützlich war. Siehe hier: stackoverflow.com/questions/947810/…
qxotk

@condiosluzverde Toller Fund, dies könnte eine doppelte Frage sein ... Es sei denn ... OP, gibt es einen Grund, warum Sie versuchen, dies über CMD im Vergleich zu dieser nativen Python-Methode zu tun?
Primohacker

Antworten:


0

Anstelle von CMD.exe können Sie auch die Anaconda-Eingabeaufforderung verwenden.

In der Anaconda-Eingabeaufforderung funktioniert der oben beschriebene Code mit der Python-Ausgabe, die in eine Datei gewechselt wird und weiterhin mit der Python-Eingabeaufforderung interagieren kann.

Anaconda-Eingabeaufforderung

Die Anaconda-Eingabeaufforderung hat ein sehr ähnliches Aussehen und Verhalten wie die CMD-Eingabeaufforderung. Dieser Thread hat Informationen über den Unterschied zwischen ihnen.


Habe es gerade in Python 3.6.6 ausprobiert und das Verhalten war unter Windows 10 CMD dasselbe. Welche Version von Python und Windows verwenden Sie?
Fernando Eblagon
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.