[Python] esecuzione subprocess, scrittura stdin e lettura stdout
Alessandro Dentella
sandro a e-den.it
Gio 21 Feb 2008 10:36:03 CET
On Thu, Feb 21, 2008 at 10:15:15AM +0100, Shatzu wrote:
>
> 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?
come lo usi? leggi l'output man mano o vorresti leggerlo alla fine del
comando? Io lo uso normalmente così:
p = subprocess.Popen(cmd, stdin=stdin, stdout=stdout, stderr=stderr, **kw)
(stdout, stderr) = p.communicate(input=subproc_input)
dove in, out err vengono inizializzate da codice non mostrato normalmente a
subprocess.PIPE
Questo codice però va bene se aspetti che il comando termini l'esecuzione.
sandro
*:-)
More information about the Python
mailing list