IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

wxPython Discussion :

Récuperer des arguments d'un child script


Sujet :

wxPython

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 21
    Par défaut Récuperer des arguments d'un child script
    Bonjour,

    Je suis en train de réaliser un programme python qui fonctionne avec un script "enfant".

    En gros, j'ai un programme parent qui lance un script python comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    strOutputFile = os.path.join(os.getenv('TEMP'), "array.pkl")
    pickle.dump(Sample_Rate, open(strOutputFile, 'wb'))
    strChildScript = "D:\xxx\xxx\Childscript.py"
    intReturnCode = subprocess.call([os.path.join(sys.prefix, "C:\Python27\python.exe"), strChildScript, strOutputFile])
    Je récupère l'arg 1 dans mon script enfant en faisant comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    strOutputFile = sys.argv[1]
    Datain = pickle.load(open(strOutputFile, 'rb'))
    Par contre, je n'arrive pas à faire l'inverse (renvoyer des données dans le scrpit parent).

    Comment je peux récuperer des valeurs calculées dans le childscript?

    Je précise que le script "enfant" est lancé depuis un programme extérieur utilisant du python.

    Merci d'avance

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,
    Je précise que le script "enfant" est lancé depuis un programme extérieur utilisant du python.
    Tu ne veux tout de même pas dire que ce script enfant est déjà en train de tourner pour un autre programme. Ça n'aurait aucun sens.

    Utilise plutôt subprocess.Popen() avec communicate() tu pourras récupérer le retour du script. Si celui-ci retourne précisément les données que tu attend.

    Importer ce script n'est vraiment pas possible ? Pas la même version de Python ?

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 21
    Par défaut
    Bonjour VinsS et merci de t'interresser à mon sujet.

    La démarche est la suivante : J'ai un logiciel nommé Ncode qui me sert à dépouiller des essais. Il fait des calcul et lance un script python qui me permet de visualiser mes calculs en 3D. Je passe donc les arguments à ce moment la et mon logiciel se met en "pause". Après je paramètre mon appli python et je voudrais récuperer ces paramètres dans mon logiciel (qui utilise du python aussi mais c'est pas du python dans un idle, c'est un peu different)
    Mon logiciel ne supporte que du 2.6 et mon script est en 2.7.

    Je suis sur que tu n'as rien compris lol!

    Je vais me renseigner sur ta fonction communicate et je te redirais si j'ai avancé.

    Merci!
    Je précise que j'ai commencé python il y a 2 semaines et je suis pas du tout programmeur lol.

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 715
    Par défaut
    Citation Envoyé par Damien3710 Voir le message
    Mon logiciel ne supporte que du 2.6 et mon script est en 2.7.
    Python assure une bonne compatibilité ascendante sur les versions mineures -.
    Votre logiciel devrait fonctionner avec Python 2.7.
    Si vous doutez, pourquoi ne pas programmer en 2.6?

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 21
    Par défaut
    Bonjour,

    J'utilise 2.6 dans Ncode car c'est la seul version supporté par ce logiciel.
    J'utilise 2.7 dans mon appli car j'utilise des modules non supporté par la 2.6

    Merci pour vôtre intêret concernant ma demande.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 21
    Par défaut
    J'ai trouvé comment faire finalement.

    Il suffit juste de refaire un pickle.dump dans le childscript et ensuite un pickle.load dans le parent.

    Pour ceux que ca interesse, ce lien est un très bon tuto.
    http://forums.arcgis.com/threads/169...ocess-(Python)

    Merci!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Donner des variables comme argument à une exécution de script
    Par xgopox dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 05/10/2011, 17h49
  2. [PHP 5.0] Limitation du nombre des arguments pour faire tourner un script externe
    Par steph_arrow dans le forum Langage
    Réponses: 2
    Dernier message: 11/04/2011, 15h51
  3. [script] récuperation d'argument
    Par vince3320 dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 06/10/2008, 16h34
  4. Vérification des arguments d'un script(shell)
    Par Info_76 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 18/03/2008, 19h10
  5. Comment passer des argument a un script php ?
    Par Florina dans le forum Linux
    Réponses: 2
    Dernier message: 11/12/2005, 14h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo