Discussione:
[Python] lanciare programma esterno con python
unknown
2011-03-28 09:29:45 UTC
Permalink
Ciao a tutti,
ho un problema su come lanciare un programma .exe esterno con python..o meglio
il programma riesco a lanciarlo ma il programma richede una volta in run di
digitare un numero da 1 a 3, premere invio e dopo digitare il nome di un file.
Il mio codice è così scritto:

import os
import subprocess
for file in os.listdir("C:\\RASTER\\US113250_2001\\"):

subprocess.call(['C:\\tfw2ref\\tfw2ref.exe'])

che scorre i file all'interno della folder specificata, e per ogni file lancio
il programma esterno. A questo punto vorrei passargli il valore 2 e dopo il
nome del file che leggo dalla folder.
Potetete darmi un suggerimento?

Grazie

Francesco
unknown
2011-03-28 09:39:59 UTC
Permalink
Post by unknown
che scorre i file all'interno della folder specificata, e per ogni file lancio
il programma esterno. A questo punto vorrei passargli il valore 2 e dopo il
nome del file che leggo dalla folder.
Potetete darmi un suggerimento?
vedi subprocess.Popen e il metodo .communicate()
unknown
2011-03-28 10:08:38 UTC
Permalink
Grazie per la risposta
ma non riesco a capire come passare il valore 2.
Io uso subprocess.call(['C:\\tfw2ref\\tfw2ref.exe']) per lanciare programma. A
questo punto sul prompt di dos il programma mi chiede :
Press number 2 for this operation, number 1 for..
Io voglio sempre digitare il valore 2 .
Dopo mi chiede il file da convertire. Quello lo leggo dallo scorrer il file
all'interno della directory.
Come faccio ad usesare il metodo communicate()?
Sono nuovo di python.

Grazie

Francesco
----Messaggio originale----
Da: birbag a gmail.com
Data: 28/03/2011 11.39
A: "francescoboccacci a libero.it"<francescoboccacci a libero.it>, "Discussioni
generali sul linguaggio Python"<python a lists.python.it>
Ogg: Re: [Python] lanciare programma esterno con python
Post by unknown
che scorre i file all'interno della folder specificata, e per ogni file
lancio
Post by unknown
il programma esterno. A questo punto vorrei passargli il valore 2 e dopo
il
Post by unknown
nome del file che leggo dalla folder.
Potetete darmi un suggerimento?
vedi subprocess.Popen e il metodo .communicate()
unknown
2011-03-28 10:22:01 UTC
Permalink
Post by unknown
Grazie per la risposta
ma non riesco a capire come passare il valore 2.
Io uso subprocess.call(['C:\\tfw2ref\\tfw2ref.exe']) per lanciare programma.
eh, non e' sufficiente. devi usare Popen():

p = subprocess.Popen(['comando'], stdin=subprocess.PIPE)

resp = p.communicate('2')
ret = p.returncode

poi su resp puoi anche trovare l'output (o gli errori) del comando...
vedi documentazione del modulo subprocess, ci sono vari esempi
unknown
2011-03-28 10:47:02 UTC
Permalink
Ok..grazie..funziona

Ciao
----Messaggio originale----
Da: birbag a gmail.com
Data: 28/03/2011 12.22
A: "Discussioni generali sul linguaggio Python"<python a lists.python.it>
Ogg: Re: [Python] lanciare programma esterno con python
Post by unknown
Grazie per la risposta
ma non riesco a capire come passare il valore 2.
Io uso subprocess.call(['C:\\tfw2ref\\tfw2ref.exe']) per lanciare
programma.
p = subprocess.Popen(['comando'], stdin=subprocess.PIPE)
resp = p.communicate('2')
ret = p.returncode
poi su resp puoi anche trovare l'output (o gli errori) del comando...
vedi documentazione del modulo subprocess, ci sono vari esempi
_______________________________________________
Python mailing list
Python a lists.python.it
http://lists.python.it/mailman/listinfo/python
Loading...