[Python-es] Sigue: Paso de comandos a un programa desde Python

Miguel Ángel Vilela miguev en gulic.org
Mar Sep 10 19:43:57 CEST 2002


On Mon, Sep 09, 2002 at 03:02:52PM +0200, Tomás Javier Robles Prado wrote:
>  Hola a todos,
>
>  Siguiendo con el tema de mi  post anterior, me he informado un poco
> y más  o menos  ya sé como  tengo que hacerlo.  Mi idea  es ejecutar
> overnet de este modo:
>
>  ./overnet < mi_tuberia > log.txt
>
>  y mi programa de Python se encargaría de:
>
>  - Escribir comandos  de overnet  en la  tuberia cada  cierto tiempo
>  - Analizar la salida de dichos  comandos y mostrarla en pantalla ya
>  - procesada
>
>  El caso es que  mirándome el módulo pipes no me  aclaro y con popen
> tampoco. Lo único que necesito es escribir en una tubería cosas como
> 'vd' , 'vu' , etc periodicamente.
>
>  ¿Alguna idea?

Algo  parecido hago  yo con  passwd  y smbpasswd,  salvo que  nuestras
negociaciones son cortas (cambiar claves de usuarios). Creo que lo que
necesitas es justo lo que estuve buscando: pexpect

pexpect te permite "hablar" a un proceso (hijo), controlándolo como si
estuvieras tecleando  en una consola, y recoger  lo que el  proceso te
devuelva. Además, puedes  "esperar" a que el proceso te  diga algo que
encaje con una  expresión regular, por lo que no  tienes que saber qué
te dirá exactamente  el proceso hijo. Si quieres  puedes hasta pasarle
el control  al humano que esté  al teclado, aunque para  esto deberías
estar en una consola (o emulador de terminal).

En la página del  módulo tienes un ejemplo de cómo  un script entra en
un ftp y saca un listado de lo que hay: http://pexpect.sf.net

Ya que hay  gente aquí que es desarrollador(a)  Debian: ¿hay intención
de empaquetar pexpect?

Saludos.
-- 

        --==--   --==--   Miguel Ángel Vilela   --==--   --==--       

  a.k.a  miguev  at  fmat.ull.es,  GULiC,  Barrapunto &  IRC-Hispano  
  GULiC - Grupo de Usuarios Linux de Canarias - http://www.gulic.org  
  Curso de Introducción a Linux para Alumnos - http://cila.gulic.org  
  Alumno en la Fac. de Matemáticas - http://www.fmat.ull.es/~miguev/  
  Public GPG key at http://search.keyserver.net (search for: miguev)  
  Linux Reg. User #184518 - Debian GNU/Linux SID - kernel 2.4.18-xfs 
  -- Linux Driver Petition #73209 --- No ePatents Petition #80354 --  
 
 Por definición, cuando está investigando lo desconocido, no sabe que va a
encontrar.
		-- El último primcipio.  
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: no disponible
Type: application/pgp-signature
Size: 189 bytes
Desc: no disponible
URL: <http://mail.python.org/pipermail/python-es/attachments/20020910/08f9535e/attachment.pgp>


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