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 :

la commande exec()


Sujet :

Python

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 18
    Points : 12
    Points
    12
    Par défaut la commande exec()
    Bonjour à tous!

    J'ai un petit soucis dans l'utlisation de la commande exec()...
    Je vous la fais simple :
    >>>def declare():
    ... exec('global g__var; g__var="varValue"')
    ... print(g__var)
    ...
    >>>declare()
    ca marche et affiche : varValue

    et
    >>>def declare():
    ... exec('global g__var')
    ... exec('g__var="varValue"')
    ... print(g__var)
    ...
    >>>declare()
    Traceback ... in declare print(g__var)
    NameError: global name 'g__var' is not defined

    Pourquoi tant de haine ?

    Y a-t-il un contexte d'execution que je ne maitrise pas ?

    Merci de vos réponse !

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 18
    Points : 12
    Points
    12
    Par défaut autant pour moi ...
    C'etait juste une erreur de syntaxe

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 18
    Points : 12
    Points
    12
    Par défaut ah bah non
    j'y ai cru ca marche pas !
    Le problème reste vivant...
    Si vous pouvez m'expliquer...

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

    exec("g=12") in globals() devrait faire l'affaire.
    Par contre, si vous mettez le code dans un script, çà à l'air de passer.

    - W

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 18
    Points : 12
    Points
    12
    Par défaut ca marche !
    merci c'était ça!
    cool !

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

Discussions similaires

  1. [TP] Commande exec : exécuter un batch de manière invisible
    Par freezerhm dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 18/03/2007, 14h18
  2. [Système] Commande exec distant
    Par fifi774 dans le forum Langage
    Réponses: 4
    Dernier message: 04/01/2007, 10h19
  3. [Système] commande exec en arriere plan
    Par dgedge dans le forum Langage
    Réponses: 3
    Dernier message: 03/07/2006, 14h45
  4. Réponses: 10
    Dernier message: 02/03/2006, 11h36
  5. [Système] commande exec()
    Par Stef784ever dans le forum Langage
    Réponses: 5
    Dernier message: 24/11/2005, 10h53

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