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 :

Erreur python [Débutant(e)]


Sujet :

Python

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 148
    Par défaut Erreur python
    Bonjour tout le monde,

    Je débute avec python, j'ai un fichier .py qui m'affiche des erreur à l'exécution

    test.py

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #!/usr/bin/env python
     
    import sys
    for i in sys:
       print i

    Je fais dans le terminal import test, après j'ai cette erreur

    Traceback (most recent call last)
    File "<stdin>", line 1, in <module>
    File "test.py", line 5 in <module>
    for i in sys:
    TypeError: 'module' object is not iterable

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 059
    Par défaut
    Bonjour,

    Que voulez-vous faire exactement?

  3. #3
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Bonjour,

    for demande un 'itérable', en gros un objet dont vous pouvez demander le suivant, une séquence. Cet objet doit avoir les méthodes __iter__ et __next__ (next en Python 2.*), ce qui n'est pas le cas de sys.
    La classe suivante est un itérable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    class Foo:
        def __init__(self, start, stop):
            self.current = start
            self.stopiter = stop
     
        def __iter__(self):
            return self
     
        def next(self):
            if self.current > self.stopiter:
                raise StopIteration
            self.current += 1
            return self.current - 1
     
        __next__ = next
     
     
    for v in Foo(0, 10):
        print(v)
    La fonction generator suivante (yield) est un itérable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    def bar(val, end):
        while val <= end:
            yield val
            val += 1
     
    for v in bar(0, 10):
        print(v)
    Un tuple, une liste, un string etc... Sont des itérables.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for v in "abcd":
        print(v)
    Utilisez dir('module') (dir(sys)) pour avoir la liste des attributs d'un objet.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    import sys
    for i in dir(sys):
       print i
    @+

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 148
    Par défaut
    Merci beaucoup, c'est bon ça marche avec le dir(sys)

    Merci

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

Discussions similaires

  1. Erreur Python : list index out of range
    Par mmmppp dans le forum Général Python
    Réponses: 4
    Dernier message: 15/10/2011, 21h59
  2. Erreur python sur update PKG
    Par sglon dans le forum Glassfish et Payara
    Réponses: 0
    Dernier message: 06/07/2011, 11h59
  3. Erreur Python (avec Plomino et form)
    Par Invité dans le forum Général Python
    Réponses: 1
    Dernier message: 29/10/2010, 12h53
  4. Erreur Python (API Google charts)
    Par Invité dans le forum Général Python
    Réponses: 1
    Dernier message: 29/10/2010, 12h45
  5. erreur python dans un script .bat
    Par mr_samy81 dans le forum Général Python
    Réponses: 6
    Dernier message: 25/03/2009, 15h05

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