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
Lo que quiero hacer es iniciar un ejecutable solo una vez, pero en cada iteración quiero redirigir la salida del proceso a un archivo diferente. Lo que está sucediendo es que los archivos se crean en la ruta diferente, pero la salida se redirige al archivo que se creó por primera vez.¿Cómo redirigir stdout para un subproceso?
Nota: MyReset()
inicializa el proceso (ejecutable) a sus valores predeterminados después de la primera iteración.
¿La siguiente línea cambiará el proceso estándar al nuevo?
proc.stdout = proc_log