Disponibilità: Unix, Windows.
Questo modulo permette di creare sotto processi, di connettersi ai loro canali input/output/error e di ottenere i loro codici di uscita in Unix e Windows.
Notate che a partire da Python 2.0, questa funzionalità è disponibile utilizzando le funzioni del modulo os che hanno lo stesso nome delle funzioni factory qui descritte, ma l'ordine dei valori restituiti è più intuitivo rispetto al quello delle varianti del modulo os.
L'interfaccia primaria offerta da questo modulo è composta da una terna
di funzioni factory. Per ciascuna di queste, se viene specificato
l'argomento bufsize, esso indica la dimensione del buffer per le
pipe I/O. Il parametro mode, se fornito, dovrebbe esere la
stringa 'b'
o 't'
; in Windows questo è necessario per
determinare se gli oggetti file devono venire aperti in modo binario o
in modo testo. Il valore predefinito per mode è 't'
.
L'unico modo di recuperare i codici restituiti per i processi figli è quello di utilizzare i metodi poll() o wait() sulle classi Popen3 e Popen4; queste sono disponibili solo su Unix. Questa informazione non è disponibile usando le funzioni popen2(), popen3() e popen4(), o le funzioni equivalenti nel modulo os.
cmd[, bufsize[, mode]]) |
(child_stdout, child_stdin)
.
cmd[, bufsize[, mode]]) |
(child_stdout, child_stdin,
child_stderr)
.
cmd[, bufsize[, mode]]) |
(child_stdout_and_stderr, child_stdin)
.
Nuovo nella versione 2.0.
Su Unix, è anche disponibile una classe che definisce gli oggetti restituiti dalle funzioni factory. Queste non vengono usate nell'implementazione per Windows e non sono quindi disponibili per questa piattaforma.
cmd[, capturestderr[, bufsize]]) |
Se non si sta usando una delle funzioni dell'helper per creare oggetti Popen3, il parametro cmd è il comando di shell da eseguire nel processo derivato. L'opzione capturestderr, se è True, specifica che l'oggetto dovrebbe anche catturare i dati emessi sullo standard error del processo figlio. Il valore predefinito per questa opzione è False. Se il parametro bufsize viene specificato, esso specifica la dimensione dei buffer di I/O verso e dal sotto processo.
cmd[, bufsize]) |