Tuberia desde python

David Villa dvilla en gmx.net
Sab Abr 9 21:24:15 CEST 2005


Hola:

Pero lo que estás haciendo es ejecutar un 'grep' para cada linea que
imprima el 'ls'...

Realmente no acabo de entender para que quieres hacer eso, pero bueno.
Prueba esto a ver si es lo que buscas:

rd = os.popen('/bin/ls')

cmd = '/bin/grep'

val = os.fork()
if val == 0:
   os.dup2(rd.fileno(), 0)
   os.execl(cmd, cmd, 'a')



El sáb, 09-04-2005 a las 16:31 +0200, Israel Gutierrez escribió:
> Hola.
> 
> Necesito hacer una tubería desde python con dos comandos del sistema, por 
> ejemplo un ls y un grep, pero no doy con ello, esto es lo que tengo hasta 
> ahora:
> 
> import sys,os
> ferr=file('/tmp/prueba.log','w')
> salida=file('/tmp/salida.txt','w',)
> sys.stderr=ferr
> 
> comin,comout,ferr=os.popen3('ls -lh /home/amphora -R')
> for item in comout:
>     comout,comout2,ferr=os.popen3('grep .pdf')
>     salida.write(comout2)
> 
> En teoría lo que me devuelve el ls, se lo estoy pasando al grep, pero cuando 
> lo ejecuto me devuelve enseguida al prompt de la shell y no veo nada 
> en /tmp/salida.txt
> 
> ¿Donde estoy metiendo la pata?
> 
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es




Más información sobre la lista de distribución Python-es