442 Stimmen

stdout in eine Datei in Python umleiten?

Wie kann ich stdout in Python in eine beliebige Datei umleiten?

Wenn ein langlaufendes Python-Skript (z. B. eine Webanwendung) aus der ssh-Sitzung heraus gestartet und zurückgeschaltet wird und die ssh-Sitzung geschlossen wird, löst die Anwendung einen IOError aus und schlägt fehl, sobald sie versucht, in stdout zu schreiben. Ich musste einen Weg finden, um die Anwendung und die Module dazu zu bringen, in eine Datei statt in stdout zu schreiben, um einen Fehler aufgrund von IOError zu vermeiden. Derzeit verwende ich nohup, um die Ausgabe in eine Datei umzuleiten, und das erledigt die Aufgabe, aber ich habe mich gefragt, ob es eine Möglichkeit gibt, es ohne nohup zu tun, aus Neugier.

Ich habe bereits versucht sys.stdout = open('somefile', 'w') Dies scheint jedoch nicht zu verhindern, dass einige externe Module immer noch an das Terminal ausgeben (oder vielleicht die sys.stdout = ... Linie hat überhaupt nicht geschossen). Ich weiß, dass es von einfacheren Skripten funktionieren sollte, die ich getestet habe, aber ich hatte auch noch keine Zeit, um auf einer Webanwendung noch zu testen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X