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 :

Name " " is not defined


Sujet :

Python

Vue hybride

karuzel Name " " is not... 08/12/2015, 22h03
cervo :salut: ta variable pdbfile... 08/12/2015, 22h53
karuzel Salut cervo, Impec', ça... 08/12/2015, 23h05
Dan737 D'accord avec la méthode de... 09/12/2015, 10h46
karuzel Ah oui, pas mal ta méthode... 09/12/2015, 11h58
Clodion Bonsoir, @cervo +1 D'où... 08/12/2015, 23h04
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 14
    Par défaut Name " " is not defined
    Bonjour,

    J'ai constaté un problème assez gênant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    def trouve_prot():
        iput=raw_input("Enter the protein's code (ex: 4S18) : ")
        print "\n"
        url=urllib.urlopen("http://www.rcsb.org/pdb/download/downloadFile.do?fileFormat=pdb&compression=NO&structureId="+str(iput))
        pdbfile=url.readlines()
    print pdbfile
    Quand je l'exécute:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    name 'pdbfile' is not defined
    Je ne comprend pas, je le définis pourtant bien avec cette ligne pourtant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pdbfile=url.readlines()
    Quelqu'un peut-il m'expliquer comment faire pour contourner ce problème ?

    Merci d'avance

  2. #2
    Membre expérimenté Avatar de cervo
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2012
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 220
    Par défaut

    ta variable pdbfile est locale par rapport à ta fonction, si tu veux l'utiliser en dehors declare pdbfile globale avant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    def trouve_prot():
        global pdbfile
        iput=raw_input("Enter the protein's code (ex: 4S18) : ")
        print "\n"
        url=urllib.urlopen("http://www.rcsb.org/pdb/download/downloadFile.do?fileFormat=pdb&compression=NO&structureId="+str(iput))
        pdbfile=url.readlines()
     
    print pdbfile

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 14
    Par défaut
    Salut cervo,

    Impec', ça fonctionne !! Merci beaucoup

  4. #4
    Membre éclairé
    Homme Profil pro
    Amateur
    Inscrit en
    Juin 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Amateur
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2015
    Messages : 52
    Par défaut
    D'accord avec la méthode de Clodion. Faire de pdbfile une variable globale semble inutile.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 14
    Par défaut
    Ah oui, pas mal ta méthode clodion.

    Dans mon cas, les 2 fonctionnent

  6. #6
    Membre émérite
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Par défaut
    Citation Envoyé par karuzel Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    def trouve_prot():
        iput=raw_input("Enter the protein's code (ex: 4S18) : ")
        print "\n"
        url=urllib.urlopen("http://www.rcsb.org/pdb/download/downloadFile.do?fileFormat=pdb&compression=NO&structureId="+str(iput))
        pdbfile=url.readlines()
    print pdbfile
    Quand je l'exécute:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    name 'pdbfile' is not defined
    Bonsoir,
    @cervo +1
    D'où l'intérêt de comprendre les fonctions. Et de les exécuter pour obtenir un résultat.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    def trouve_prot():
        iput=raw_input("Enter the protein's code (ex: 4S18) : ")
        url=urllib.urlopen("http://www.rcsb.org/pdb/download/downloadFile.do?fileFormat=pdb&compression=NO&structureId="+str(iput))
        return url.readlines()
     
    pdbfile = trouve_prot()
    print pdbfile
    Clodion

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/06/2009, 15h23
  2. références croisées objets NameError: global name is not defined
    Par loicmidy dans le forum Général Python
    Réponses: 2
    Dernier message: 13/06/2009, 15h41
  3. NameError: name 'nbBug' is not defined
    Par titi_lion dans le forum Général Python
    Réponses: 1
    Dernier message: 15/05/2009, 12h32
  4. NameError: global name 'entr2' is not defined
    Par noquioz dans le forum Tkinter
    Réponses: 18
    Dernier message: 24/11/2008, 11h20
  5. NameError: name 'excel' is not defined
    Par billyrose dans le forum Général Python
    Réponses: 3
    Dernier message: 14/07/2008, 17h37

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