[Python] Os.popen e comando route add
Paolo Bernardi
villa.lobos a tiscali.it
Sab 15 Gen 2011 12:27:37 CET
Tra le altre cose, se vuoi restare aggiornato, ti consiglio di dare
un'occhiata al modulo subprocess, particolarmente alla sezione su come
rimpiazzare le chiamate os.popen*:
http://docs.python.org/library/subprocess.html#replacing-os-popen-os-popen2-os-popen3
Con la popen, ad esempio, mi è capitato di fare qualcosa di simile:
p = subprocess.Popen(['axel', '-o', file, self.url], shell=False,
stdout=subprocess.PIPE)
line = p.stdout.readline()
while line != None and line != '' and not p.poll():
[...]
line = p.stdout.readline()
In questo caso ovviamente mi serviva l'output riga per riga (man mano
che axel avanzava), ma puoi anche leggere tutto in blocco.
Paolo
On Fri, 2011-01-14 at 12:03 +0100, Stefano Dal Pra wrote:
> Ciao,
> prova con os.popen3 :
> stdin,stdou,stderr = os.popen("ping 151.1.1.1")
>
> dovresti scoprire che il SIOCADDRT compare con stderr.readline() ...
>
> Stefano
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome: signature.asc
Tipo: application/pgp-signature
Dimensione: 490 bytes
Descrizione: This is a digitally signed message part
URL: <http://lists.python.it/pipermail/python/attachments/20110115/68e26ca1/attachment.pgp>
Maggiori informazioni sulla lista
Python