<pre><code><span>Hi,<br><br>Hope you will be fine and good.<br><br><br>Following is a snippet of python code i am using for a regression testing.<br><br>def</span><span> </span><span>StartProc</span><span>(</span><span>dir</span><span>,</span><span> parm</span><span>):</span><span><br>
<br>    </span><span>global</span><span> proc    <br><br>    proc_log </span><span>=</span><span> open</span><span>(</span><span>dir </span><span>+</span><span> os</span><span>.</span><span>sep </span><span>+</span><span> </span><span>&quot;MyLog.txt&quot;</span><span>,</span><span>&quot;w&quot;</span><span>)</span><span>  </span><span>#new path for each file</span><span><br>
<br><br>    </span><span>if</span><span> parm</span><span>:</span><span><br>        proc </span><span>=</span><span> subprocess</span><span>.</span><span>Popen</span><span>(</span><span>path</span><span>,</span><span> </span><span>0</span><span>,</span><span> </span><span>None</span><span>,</span><span> subprocess</span><span>.</span><span>PIPE</span><span>,</span><span> proc_log</span><span>,</span><span> </span><span>None</span><span>)</span><span><br>
<br>    </span><span>else</span><span>:</span><span><br>        </span><span>MyReset</span><span>(</span><span>proc</span><span>)</span><span>                     </span><span>#reset the process(proc) to its default values</span><span><br>
<br>        proc</span><span>.</span><span>stdout </span><span>=</span><span> proc_log            </span><span>#no effect</span><span><br>        </span><span>print</span><span> </span><span>&quot;fptr &quot;</span><span>,</span><span> proc</span><span>.</span><span>stdout<br>
<br>    </span><span>#endif</span><span><br></span><span>#enddef</span><span><br><br>prm </span><span>=</span><span> </span><span>True</span><span><br><br><br></span><span>for</span><span> i </span><span>in</span><span> range</span><span>(</span><span>0</span><span>,</span><span> </span><span>5</span><span>):</span><span><br>
<br>    </span><span>StartProc</span><span>(</span><span>i</span><span>,</span><span> prm</span><span>)</span><span><br>    prm </span><span>=</span><span> </span><span>False</span><span><br><br></span><span>#endfor<br><br>
</span></code></pre><p>What I want to do is to start an executable only once, but on each
iteration I want to redirect the process output to a different file.
What is happening, is that files are created in the different path, but
output is redirected to the file that is created first time.</p>

<p>Note: <code>MyReset()</code> initializes the process (executable) to its default values after the first iteration.</p>

<p>Will the following line change the process stdout to new file?</p>

<code><span>proc</span><span>.</span><span>stdout </span><span>=</span><span> proc_log<br><br></span></code>If no, than can you kindly guide me to the right way<br>
<pre><font size="2"><b><br>Note: In the <code><span></span><span>StartProc</span><span></span></code>() if i create a new process everytime <br></b></font><code><font size="2"><b><span></span><span>StartProc</span></b></font><span><font size="2"><b>() is called. Output is correctly redirected to proper file.</b></font><br>
<br><br>Waiting for you kind reply.<br><br></span></code>Warm Regards,</pre>