[Python] leggere lo standard output di un programma esterno

Giovanni Marco Dall'Olio dalloliogm a gmail.com
Mer 30 Maggio 2012 18:57:34 CEST


2012/5/30 Matteo Perini <perini.matteo a gmail.com>

> Ciao a tutti,
> scrivo per chiedere un consiglio.
> Avrei bisogno di importare lo standard output di un programma c++ nel mio
> software (in python).
>


Nelle ultime versioni di python (>2.6) tutti i moduli per eseguire comandi
esterni sono stati raccolti nella libreria subprocess.
Leggi per esempio il warning in rosso nella documentazione di commands
http://docs.python.org/library/commands.html , o PEP 0324
http://www.python.org/dev/peps/pep-0324/

Nel tuo caso la sintassi di subprocess è molto simile a quella di commands,
ovvero:

$: myoutput = subprocess.check_output('ls', '-a')
$: print myoutput






> Attualmente ho risolto con queste due righe:
>
> import commands
>
> x = commands.getoutput('./prova')
>
> e il tutto funziona.
> La domanda è:
> Ci sono altri metodi per avere questo stesso effetto senza importare la
> libreria commands?
> Forse la domanda sembra sciocca ma volevo capire se mi stò legando ad una
> libreria che posso evitare o se invece usare commands è la strda più
> indicata.
> Grazie
> Ciao
> Matteo
>
> ______________________________**_________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/**mailman/listinfo/python<http://lists.python.it/mailman/listinfo/python>
>



-- 
Giovanni Dall'Olio, phd student
IBE, Institut de Biologia Evolutiva, CEXS-UPF (Barcelona, Spain)

My blog on bioinformatics: http://bioinfoblog.it
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20120530/4e83fff5/attachment.html>


Maggiori informazioni sulla lista Python