Ich möchte die stdout und stderr in zwei verschiedenen Protokolldateien ausgeben. Ich habe diesen Code versucht, aber es gibt nur den Fehler in Fehlerprotokoll aus, aber die Ausgabe wird nicht zur Datei runtime.log umgeleitet.Windows Python stdout und stderr zu zwei verschiedenen Dateien
Der Code wird auf Windows ausgeführt und meistens ist Robocopy im Code ausgeführt.
saveerr = sys.stderr
fsock = open('error.log', 'a')
sys.stderr = fsock
saveout = sys.stdout
fsock1 = open('runtime.log', 'a')
sys.stdout = fsock1
Der Bereich sys.stdout funktioniert nicht. Bitte lassen Sie mich eine Korrektur in diesem Code wissen.
hier ist meine gesamte Code
import sys
saveerr = sys.stderr
fsock = open('error.log', 'a')
sys.stderr = fsock
saveout = sys.stdout
fsock1 = open('runtime.log', 'a')
sys.stdout = fsock1
##For site AUCB-NET-01 from source folder AUDC-RSTOR-01 E:\Canberra
exit_code1 = subprocess.call('robocopy \\\\aucb-net-01\\d$ \\\\nasaudc01\\remote_site_sync\\aucb-net-01 /E /MIR /W:2 /R:1', shell=True)
print ("exitcoode1=", exit_code1)
Dank an alle für meine Post lesen.
Wie starten Sie Robocopy? (Und warum ist diese 'PowerShell' markiert?) – TessellatingHeckler
Dies sollte * Ihr * stdout zu runtime.log umleiten. Wenn Sie robocopy starten, sollten Sie das stdout in die Datei umleiten. Poste den Code, den du benutzt, um Robocopy zu starten – FloatingKiwi