Je m'initie à Python et je voudrais lancer un programme sous WinXP à partir
d'un script, en passant des paramètres, autrement dit obtenir le même
résultat que lorsque je tape la ligne de commande "c:\test\appli.exe -o
source.txt destination.txt" (pour mon test, les fichiers source.txt et
destination.txt se trouvent dans le même répertoire que appli.exe).
Après avoir fait quelques recherches, il me semble que la commande
appropriée est spawnl (je veux attendre que l'exe ait terminé ses
traitements avant de poursuivre le script Python). J'arrive à lancer l'exe
avec spawnl('os.P_WAIT', 'c:/test/appli.exe') mais je n'arrive pas à passer
mes paramètres. J'ai essayé spawnl('os.P_WAIT', 'c:/test/appli.exe', '-o
source.txt destination.txt'), mais l'exeme signale dans ce cas qu'il
n'arrive pas à ouvrir le fichier source.txt. Peut-être faut-il préciser
aussi le path pour source.txt et destination.txt ?
Merci de votre aide, et joyeuses fêtes à tout le monde !
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
News M Claveau /Hamster-P
Bonsoir ! (et Noyeux Joël)
Le script, que tu lances, s'exécute dans le répertoire courant. Il faut donc, soit que ton logiciel gère ce fait, soit que fasse précéder la ligne par un os.chdir( path)
Et puis, je pense que la constante 'os.P_WAIT' se passera bien des apostrophes.
Et aussi, les arguments multiples peuvent être séparés par des virgules (mais, bon, une grosse chaîne est OK aussi).
Bonsoir ! (et Noyeux Joël)
Le script, que tu lances, s'exécute dans le répertoire courant. Il faut
donc, soit que ton logiciel gère ce fait, soit que fasse précéder la ligne
par un os.chdir( path)
Et puis, je pense que la constante 'os.P_WAIT' se passera bien des
apostrophes.
Et aussi, les arguments multiples peuvent être séparés par des virgules
(mais, bon, une grosse chaîne est OK aussi).
Le script, que tu lances, s'exécute dans le répertoire courant. Il faut donc, soit que ton logiciel gère ce fait, soit que fasse précéder la ligne par un os.chdir( path)
Et puis, je pense que la constante 'os.P_WAIT' se passera bien des apostrophes.
Et aussi, les arguments multiples peuvent être séparés par des virgules (mais, bon, une grosse chaîne est OK aussi).
NoSpAm
Le script, que tu lances, s'exécute dans le répertoire courant. Il faut donc, soit que ton logiciel gère ce fait, soit que fasse précéder la ligne par un os.chdir( path)
En effet, je pensais que le problème venait d'ailleurs alors que c'était tout bête : j'ai poursuivi mes essais en mettant un path complet au lieu de 'source.txt' et 'destination.txt', ça fonctionne parfaitement.
Et puis, je pense que la constante 'os.P_WAIT' se passera bien des apostrophes.
Oups, c'est vrai que ça marche beaucoup moins bien avec des apostrophes... :)
Le script, que tu lances, s'exécute dans le répertoire courant. Il faut
donc, soit que ton logiciel gère ce fait, soit que fasse précéder la ligne
par un os.chdir( path)
En effet, je pensais que le problème venait d'ailleurs alors que c'était
tout bête : j'ai poursuivi mes essais en mettant un path complet au lieu de
'source.txt' et 'destination.txt', ça fonctionne parfaitement.
Et puis, je pense que la constante 'os.P_WAIT' se passera bien des
apostrophes.
Oups, c'est vrai que ça marche beaucoup moins bien avec des apostrophes...
:)
Le script, que tu lances, s'exécute dans le répertoire courant. Il faut donc, soit que ton logiciel gère ce fait, soit que fasse précéder la ligne par un os.chdir( path)
En effet, je pensais que le problème venait d'ailleurs alors que c'était tout bête : j'ai poursuivi mes essais en mettant un path complet au lieu de 'source.txt' et 'destination.txt', ça fonctionne parfaitement.
Et puis, je pense que la constante 'os.P_WAIT' se passera bien des apostrophes.
Oups, c'est vrai que ça marche beaucoup moins bien avec des apostrophes... :)
News M Claveau /Hamster-P
Re
Tu devrais aussi regarder les fonctions popenX (et, avec Python 2.3 ou 2.4, le module subprocess). Ils présentent un aspect "pilotage" des I/O standards des plus intéressants.
@-salutations -- Michel Claveau
Re
Tu devrais aussi regarder les fonctions popenX (et, avec Python 2.3 ou 2.4,
le module subprocess). Ils présentent un aspect "pilotage" des I/O standards
des plus intéressants.
Tu devrais aussi regarder les fonctions popenX (et, avec Python 2.3 ou 2.4, le module subprocess). Ils présentent un aspect "pilotage" des I/O standards des plus intéressants.
@-salutations -- Michel Claveau
NoSpAm
Tu devrais aussi regarder les fonctions popenX (et, avec Python 2.3 ou 2.4, le module subprocess). Ils présentent un aspect "pilotage" des I/O standards des plus intéressants.
J'ai suivi ton conseil, ces fonctions sont vraiment très intéressantes ! En fait, plus j'avance dans la découverte de Python (j'ai la version 2.3.4 sous XP), plus je suis surpris des choses extraordinaires que ce langage permet de faire assez facilement.
Luca
Tu devrais aussi regarder les fonctions popenX (et, avec Python 2.3 ou
2.4,
le module subprocess). Ils présentent un aspect "pilotage" des I/O
standards
des plus intéressants.
J'ai suivi ton conseil, ces fonctions sont vraiment très intéressantes ! En
fait, plus j'avance dans la découverte de Python (j'ai la version 2.3.4 sous
XP), plus je suis surpris des choses extraordinaires que ce langage permet
de faire assez facilement.
Tu devrais aussi regarder les fonctions popenX (et, avec Python 2.3 ou 2.4, le module subprocess). Ils présentent un aspect "pilotage" des I/O standards des plus intéressants.
J'ai suivi ton conseil, ces fonctions sont vraiment très intéressantes ! En fait, plus j'avance dans la découverte de Python (j'ai la version 2.3.4 sous XP), plus je suis surpris des choses extraordinaires que ce langage permet de faire assez facilement.
Luca
Michel Claveau - abstraction méta-galactique non triviale en fuite perpétuelle.
Re-re !
Pour Python 2.3, voir http://effbot.org/downloads/#subprocess (ce module est présent, en standard, dans Python 2.4)
Re-re !
Pour Python 2.3, voir http://effbot.org/downloads/#subprocess
(ce module est présent, en standard, dans Python 2.4)