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
Quello che voglio fare è avviare un eseguibile solo una volta, ma su ogni iterazione voglio reindirizzare l'output del processo su un altro file. Quello che sta accadendo è che i file vengono creati nel percorso diverso, ma l'output viene reindirizzato al file che viene creato per la prima volta.Come reindirizzare lo stdout per un sottoprocesso?
Nota: MyReset()
inizializza il processo (eseguibile) ai valori predefiniti dopo la prima iterazione.
La seguente riga modifica lo stdout del processo in un nuovo file?
proc.stdout = proc_log