Buenas...<br><br><div class="gmail_quote">2010/2/21 Daniel Garcia Moreno <span dir="ltr">&lt;<a href="mailto:dani@danigm.net">dani@danigm.net</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
El dom, 21-02-2010 a las 22:39 +0100, Eduardo Ferro escribió:<br>
<div><div></div><div class="h5">&gt; Buenas.<br>
&gt;<br>
&gt; Necesito poder filtrar la salida por consola de una función a la que<br>
&gt; llamo, sin que esta función se vea alterada. Es para una especie de<br>
&gt; interprete de comandos, que puede tener en un momento dado activados<br>
&gt; filtros  o no, o tener activado un pager o no.<br>
&gt; Para que se me entienda bien, si tengo la siguiente función:<br>
&gt;<br>
&gt; def func1():<br>
&gt;     for num in range(100):<br>
&gt;         print num<br>
&gt;<br>
&gt; Cuando ejecute la función saldrian las 100 lineas numeradas, pero si<br>
&gt; la llamo y tengo configurado un paginador, quisiera que se parase cada<br>
&gt; 25 lineas y esperase una tecla, o si tengo puesto un filtro para que<br>
&gt; salgan las lineas que contengan un &quot;1&quot;, sólo quiero que salgan esas<br>
&gt; lineas....<br>
&gt;<br>
&gt; Ahora mismo lo tengo hecho con un objeto que simula ser un fichero de<br>
&gt; salida y que hace las funciones de filtro, y lo que hago es cambiar el<br>
&gt; sys.stdout por ese objeto, antes de realizar la llamada, y restaurarlo<br>
&gt; una vez completada la llamada. Algo similar a:<br>
&gt;<br>
&gt; inicial = sys.stdout<br>
&gt; sys.stdout = FiltroSalida()<br>
&gt; func1()<br>
&gt; sys.stdout = inicial<br>
&gt;<br>
&gt; El caso es que estoy teniendo algunos problemas con la implementación<br>
&gt; de  la clase FiltroSalida y en algunos casos creo que pierdo algo de<br>
&gt; la salida...<br>
<br>
</div></div>También tienes que tener en cuenta la salida de error, sys.stderr. Lo<br>
mismo lo que se te escapa es eso.<br>
</blockquote><div><br></div><div>Creo que no estaba teniendo en cuenta el sys.stderr, y quizás me este generando salida que se esté mezclando con la que proceso.</div><div>Gracias por la sugerencia, le echaré un ojo a ese tema</div>
<div><br></div><div>saludos</div></div><br>-- <br>Hasta otra!!!<br>    Eduardo Ferro Aldama<br>    Alea Soluciones<br>    <br>    <a href="http://www.alea-soluciones.com">http://www.alea-soluciones.com</a>    <br>    <a href="http://oss.alea-soluciones.com">http://oss.alea-soluciones.com</a><br>
    <a href="http://doc.alea-soluciones.com">http://doc.alea-soluciones.com</a><br><br>