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 :

TypeError: 'int' object is not iterable


Sujet :

Python

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 2
    Par défaut TypeError: 'int' object is not iterable
    Bonjour,
    Je cherche à scruter un mot dans un fichier log ligne par ligne et j'utilise la fonction def() suivante crée avec pyscripter. J'ai sauvegardé la fonction sous getwrd.py que j'ai placé dans le répertoire Python27\Lib . Ensuite, dans l’interpréteur python j'écris le script suivant pour appeler la fonction et l'erreur apparaît:

    line='dfjdsfjmotsdlffjlkdsf'
    word='mot'
    y=0
    import getwrd
    getwrd.pick(line,word,y)

    >>> Traceback (most recent call last):
    >>> File "<interactive input>", line 1, in <module>
    >>> File "C:\Python27\Lib\getwrd.py", line 15, in pick
    >>> j,i=0
    >>> TypeError: 'int' object is not iterable


    Le contenu du fichier Python27\Lib\getwrd.py :
    def pick(line,word,y):
    ___import os,sys
    ___j,i=0
    ___y=0
    ___j=len(word)
    ___while i<len(line):
    ______j=i+j
    ______if line[i:j]==word:
    _________y=1
    ______else:
    _________j=len(word)
    ______i+=1
    ___y=1
    ___return(y)
    #if __name__ == '__main__':
    # pick(line,word,y)
    (Désolé pour l’indentation qui ne reste pas après un "copier/coller".)

    Merci d'avance pour votre aide.

  2. #2
    Membre Expert

    Homme Profil pro
    Diverses et multiples
    Inscrit en
    Mai 2008
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Diverses et multiples

    Informations forums :
    Inscription : Mai 2008
    Messages : 662
    Par défaut
    Utilise la balise [code] (le #, dans la barre d’outils)*!

    Sinon, Python n’est pas C, pas besoin de déclarer les variables, donc quand tu écris i, j =, Python attend deux valeurs à assigner à ces deux variables*!
    De toute façon, là, tu n’as pas besoin d’initialiser grand chose…

    Ah, et pas besoin de passer y en paramètre, ce n’est que la valeur de retour (pas besoin de y du tout, en fait)*!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    def pick(line, word):
        ln = len(word)
        for i in range(len(line)):
            if line[i:i + ln] == word:
                return True
    Mais bon, word in line fait exactement la même chose… en plus court.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 2
    Par défaut
    Merci beaucoup mont29,
    Je vais regarder du coté de "word in line".
    Sinon, j'ai mis mon fichier getwrd.py dans le Rep C:\Phyton\Lib. Je voulais savoir aussi si c'est la bonne façon pour pouvoir utiliser ma fonction en tant que module.
    Salutations

Discussions similaires

  1. TypeError:'Nonetype' object is not iterable
    Par Mozard Yao dans le forum Odoo (ex-OpenERP)
    Réponses: 2
    Dernier message: 30/05/2014, 11h42
  2. Erreur " 'int' object is not iterable"
    Par ti'chou dans le forum Général Python
    Réponses: 14
    Dernier message: 25/09/2012, 17h24
  3. "'int' object is not callable"
    Par dingoth dans le forum Général Python
    Réponses: 2
    Dernier message: 22/12/2010, 17h38
  4. TypeError: 'file' object is not callable
    Par MariemEA dans le forum Général Python
    Réponses: 7
    Dernier message: 09/07/2010, 21h57
  5. TypeError: 'int' object is not iterable
    Par manaliac dans le forum Général Python
    Réponses: 15
    Dernier message: 29/06/2010, 11h24

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