Ich möchte ein externes Programm von Python ausführen, Ausgabe (viel Text) in eine Protokolldatei umleiten und warten auf das Programm zu beenden. Ich weiß, ich kann es über Bash tun:Python: externe Programm ausführen und direkte Ausgabe in Datei und warten auf Ende
#! /bin/bash
my_external_program > log_file 2>&1
echo "done"
Aber wie kann ich das gleiche mit Python tun? Beachten Sie, dass ich mit dem bash-Befehl die log_file überprüfen kann, während das Programm läuft. Ich möchte diese Eigenschaft auch in Python.
Wie kann ich stderr in die Protokolldatei umleiten als auch? Wenn ich _os.system ("my_script &> my_log") auspro **** e, erstellt es keine Protokolldatei, sondern wirft alles auf das Python-Terminal. –
In einem Bash-Skript verwenden Sie 2> & 1, um sterr an stdout umzuleiten, die Sie an mein Protokoll senden. Also zum Beispiel: script.py 2> & 1> mickey.log Ich denke, das wird deine Frage lösen :-) –