[Python] esecuzione subprocess, scrittura stdin e lettura stdout

Daniele Varrazzo piro a develer.com
Gio 21 Feb 2008 11:42:38 CET


Shatzu ha scritto:
> Salve,
> 
> sono nuovo di qui!
> 
> stavo cercando di scrivere uno script python che, lanciando un 
> subprocess che effettua una connessione ssh ad un server, mi permetta 
> poi di eseguire comandi e leggere gli output.
> 
> Riesco ad effettuare la connessione e anche a far eseguire comandi 
> scrivendo sull'stdin, ma ho problemi a leggere l'output, nel senso che 
> non sempre č completo e a volte con le funzioni read o readline mi si 
> blocca lo script.
> 
> Come posso fare a leggere tutto l'output dei comandi che lancio?

Se devi contemporaneamente leggere e scrivere da un processo, per evitare il 
deadlock che verifichi ti ci vuole un modulo a-la "expect" (che credo usi una 
select per leggere senza bloccare).

Credo che l'implementazione pių diffusa in python sia pexpect 
(http://www.noah.org/wiki/Pexpect).

-- 
Daniele Varrazzo - Develer S.r.l.
http://www.develer.com


More information about the Python mailing list