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

Python Discussion :

Récupérer la valeur d'une variable d'une autre script une fois celui-ci terminé


Sujet :

Python

  1. #1
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2015
    Messages
    224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2015
    Messages : 224
    Points : 62
    Points
    62
    Par défaut Récupérer la valeur d'une variable d'une autre script une fois celui-ci terminé
    Bonjour,

    Est-il possible de lancer un script python (progB.py) depuis un autre script python (progA.py) avec os.system, puis quand progB.py est terminé, récupérer dans progA.py une variable qui a été mise à jour pendant l'exécution de progB.py ?
    J'ai testé avec les import prog.B, mais j'obtiens seulement la valeur initiale de la variable...

    Merci d'avance pour votre aide

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 273
    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 273
    Points : 36 757
    Points
    36 757
    Par défaut
    Salut,

    Vous écrivez dans progB.py une fonction qui retourne la "variable".
    Puis depuis progA.py, vous faites "from ProgB import fonction" puis vous stockez le retour de l'appel à fonction dans une variable (de progA).

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

  3. #3
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2015
    Messages
    224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2015
    Messages : 224
    Points : 62
    Points
    62
    Par défaut
    Bonjour,

    Merci pour la réponse.
    Cependant, ça ne marche pas. Enfin j'ai le même problème qu'avant, dans progA, je reçois bien la variable de progB, mais AVANT que celle-ci soit passée dans la moulinette de l'algorithme écrit dans progB. En d'autres mots, dans progA, je ne reçois que la variable initialisée par défaut dans progB...

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 273
    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 273
    Points : 36 757
    Points
    36 757
    Par défaut
    Salut,

    Citation Envoyé par St-42-FCM-57 Voir le message
    mais AVANT que celle-ci soit passée dans la moulinette de l'algorithme écrit dans progB.
    Il faut mettre le code de l'algorithme dans le corps de la fonction ou mettre ce code dans une autre fonction qui sera appelée par fonction (qui sert d'interface entre progA et progB)... histoire que la fonction retourne la valeur calculée par l'algorithme et non la valeur initiale.

    Si vous ne vous en sortez pas, rien ne vous empêche de mettre le code de progA et progB dans le même fichier script: au mieux ce sera plus simple au pire, vous aurez le même problème!

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

  5. #5
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2015
    Messages
    224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2015
    Messages : 224
    Points : 62
    Points
    62
    Par défaut
    Le problème c'est qui si je mets l'algorithme dans la fonction, il sera éxecuté 2 fois : une fois lors de l'execution dans os.system(python3 progB.py) dans progA, et une fois lors de myvariable = progB.returnVar() dans progA...

    Ce n'est pas grave, je vais tout mettre dans un seul script, mais c'était beaucoup plus pratique d'en avoir 2 différents.

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 273
    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 273
    Points : 36 757
    Points
    36 757
    Par défaut
    Citation Envoyé par St-42-FCM-57 Voir le message
    Le problème c'est qui si je mets l'algorithme dans la fonction, il sera éxecuté 2 fois : une fois lors de l'execution dans os.system(python3 progB.py) dans progA, et une fois lors de myvariable = progB.returnVar() dans progA...
    Si vous faites "import" plus besoin de passer par os.system(...).

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

  7. #7
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2015
    Messages
    224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2015
    Messages : 224
    Points : 62
    Points
    62
    Par défaut
    Le problème c'est que je passe un argument quand j'utilise os.system :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    os.system("python3 progB.py " + argument)
    Et là je suis bloqué si j'utilise uniquement import

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 273
    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 273
    Points : 36 757
    Points
    36 757
    Par défaut
    Citation Envoyé par St-42-FCM-57 Voir le message
    Le problème c'est que je passe un argument quand j'utilise os.system
    Et vous ne savez pas appeler une fonction avec ce même argument?
    Ouvrez un tuto. apprenez les bases de la programmation (les fonctions en font partie) et essayez de les appliquer plutôt que de patauger en voulant réinventer la roue.

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

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

Discussions similaires

  1. Récupérer plusieurs valeurs en une fois
    Par Quantactique dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 21/12/2012, 10h47
  2. Réponses: 8
    Dernier message: 02/10/2006, 17h16
  3. Récupérer la valeur d'une variable d'environnement
    Par poca10 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 15/02/2006, 10h23
  4. Réponses: 1
    Dernier message: 21/11/2005, 12h07
  5. Récupérer la valeur d'une variable distante
    Par seblo_scoqi dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/09/2005, 16h10

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