def StartProc(dir, parm):
global proc
proc_log = open(dir + os.sep + "MyLog.txt","w") #new path for each file
if parm:
proc = subprocess.Popen(path, 0, None, subprocess.PIPE, proc_log, None)
else:
MyReset(proc) #reset the process(proc) to its default values
proc.stdout = proc_log #no effect
print "fptr ", proc.stdout
#endif
#enddef
prm = True
for i in range(0, 5):
StartProc(i, prm)
prm = False
#endfor
Ich möchte eine ausführbare Datei nur einmal starten, aber bei jeder Iteration möchte ich die Prozessausgabe in eine andere Datei umleiten. Was passiert, ist, dass Dateien in dem anderen Pfad erstellt werden, aber die Ausgabe wird zu der Datei umgeleitet, die zum ersten Mal erstellt wird.Wie umleiten Stdout für einen Subprozess?
Hinweis: MyReset()
initialisiert den Prozess (ausführbare Datei) auf die Standardwerte nach der ersten Iteration.
Wird die folgende Zeile den Prozess stdout in neue Datei ändern?
proc.stdout = proc_log