Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 05/07/2010, à 13:58

p6s

[Résolu] lancer un executable via python ET recuperer la main

Hello.

Comme dit dans le titre, je souhaiterai lancer un executable (windows, donc avec wine, pas de probleme en soi) à l'interieur d'un script python.
J'ai lu qu'on pouvait utiliser os.system, sous la forme

os.system('wine monappli.exe')

ça me lance bien l'appli mais je ne voudrais pas qu'il s'arrete là et qu'il continue le reste du script.
C'est tout ce que je demande, pas de parametres à faire passer ni recuperer.
j'ai bien vu qu'il y avait tout un tas de possiblités avec subprocess, mais ça fait peur aux non-programmeurs ce truc wink
Si quelqu'un connait la syntaxe à utiliser dans mon cas ...


En vous remerciant cool

Dernière modification par p6s (Le 05/07/2010, à 14:36)

Hors ligne

#2 Le 05/07/2010, à 14:06

HP

Re : [Résolu] lancer un executable via python ET recuperer la main

p6s a écrit :

j'ai bien vu qu'il y avait tout un tas de possiblités avec subprocess, mais ça fait peur aux non-programmeurs ce truc wink
Si quelqu'un connait la syntaxe à utiliser dans mon cas ...

Tu veux pas qu'on écrive ton script à ta place non plus ?


cat /dev/urandom >/dev/null 2>&1 #github

Hors ligne

#3 Le 05/07/2010, à 14:11

p6s

Re : [Résolu] lancer un executable via python ET recuperer la main

HP "contribution" >/dev/null

Hors ligne

#4 Le 05/07/2010, à 14:13

yannzbig

Re : [Résolu] lancer un executable via python ET recuperer la main

p6s a écrit :

HP "contribution" >/dev/null

A défaut d'être programmeur, tu as un sens de l'humour certain lol

#5 Le 05/07/2010, à 14:14

p6s

Re : [Résolu] lancer un executable via python ET recuperer la main

yannzbig a écrit :
p6s a écrit :

HP "contribution" >/dev/null

A défaut d'être programmeur, tu as un sens de l'humour certain lol

merci cool

Hors ligne

#6 Le 05/07/2010, à 14:17

jde3

Re : [Résolu] lancer un executable via python ET recuperer la main

Perso, quand je fais un os.system, le programme principal reprend la main après...

Hors ligne

#7 Le 05/07/2010, à 14:20

p6s

Re : [Résolu] lancer un executable via python ET recuperer la main

jde3 a écrit :

Perso, quand je fais un os.system, le programme principal reprend la main après...

C'est peut-etre parce que le programme que tu lances s'execute/se termlne fissa ?
là je viens de relancer pour voir, j'ai collé un print 'Totoro' la ligne après l'os.system() - le "debuggage" du pauvre smile -, et ça ne s'affiche même pas dans le terminal
edit : pour être précis, il ne s'affichera qu'au premier control-c, donc quand j'aurai interrompu l'appli lancée via os.system(wine)

Dernière modification par p6s (Le 05/07/2010, à 14:24)

Hors ligne

#8 Le 05/07/2010, à 14:27

yannzbig

Re : [Résolu] lancer un executable via python ET recuperer la main

Si je comprends ton pb, tu veux lancer ton exe en tache de fond et récuperer la main alors que ton exe tourne toujours?
Tu peux essayer de faire

os.system( 'mon_apply_a_lancer_en_tache_de_fond > un_fichier &' )

Soluce trouvée ici, sans garantie...

EDIT: ou tout simplement

os.system('wine monappli.exe &')

Dernière modification par yannzbig (Le 05/07/2010, à 14:29)

#9 Le 05/07/2010, à 14:34

p6s

Re : [Résolu] lancer un executable via python ET recuperer la main

yannzbig a écrit :

ou tout simplement

os.system('wine monappli.exe &')

Ah oui tiens, j'avais pas pensé à réutiliser le & magique du shell à l'intérieur d'os.system , mais bingo, ça marche smile
merci.

Dernière modification par p6s (Le 05/07/2010, à 14:34)

Hors ligne

#10 Le 05/07/2010, à 14:38

ADcomp

Re : [Résolu] lancer un executable via python ET recuperer la main

os.system est obsolète .. et je vois pas ce qui "fait" peur dans subprocess .. ??

Voilà un bout de code qui devrait faire ce que tu demandes :

from subprocess import Popen
cmd = "ce_que_tu_veux_executer"
p = Popen(cmd, shell=True).pid

Dernière modification par ADcomp (Le 05/07/2010, à 14:38)


David [aka] ADcomp

Hors ligne