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 :

le readlines() qui ne marche pas?


Sujet :

Python

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

    Informations forums :
    Inscription : Janvier 2009
    Messages : 2
    Par défaut le readlines() qui ne marche pas?
    Bonjour,

    je débute en programmation et j'étais entrain de coder depuis ce matin, mais le morceau de code suivant me cause des problèmes depuis cet aprem:
    (fichier Lsys.py)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    def __init__(self, filename):
     
    File = open(filename, 'r')
    Lines = ''
     
    for line in File.readlines() :
     
    Lines+=line
     
    yacc.parse(Lines)
    sachant que mon parseur marche correctement.

    voici l erreur generé:

    IndexError: list index out of range
    WARNING: Failure executing file: <LSys.py>


    merci de m aider......

    Benvy.

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 068
    Par défaut
    donne plus de code ...

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut
    Bonjour et bienvenue sur le forum,



    S’il y a __init__() dans ton code, c’est qu’il doit y avoir une classe et une instance quelque part.

    Alors j’ai écrit ceci qui marche:

    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
    class A:
        def __init__(cap,filename):
            cap.fn = filename
            cap.Lines = ''
     
        def lecture(self):
            File = open(self.fn, 'r')
            for line in File.readlines():
                self.Lines += line
            return self.Lines
     
    rob = A('essai.txt')
    print rob.fn
    kul = rob.lecture()
    print repr(kul)
    Mais je ne sais pas si ça correspond à ce que tu cherches à faire. Il te faudrait être effectivement plus explicatif.





    Soit dit en passant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    File = open(filename, 'r')
    Lines = ''
    for line in File.readlines() :
    Lines+=line
    peut s’écrire aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    File = open(filename, 'r')
    Lines = '.join(line for line in File.readlines() )
    et , puisque readlines() conserve les fins de ligne intactes, Lines obtenu n’est rien d’autre que
    File.read() !

Discussions similaires

  1. Méthode getSize() qui ne marche pas
    Par mush_H dans le forum Agents de placement/Fenêtres
    Réponses: 15
    Dernier message: 20/03/2005, 01h29
  2. [SWING] KeyListener qui ne marche pas
    Par kindool dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 10/01/2005, 19h04
  3. Iptables configuration qui ne marche pas....
    Par The_Nail dans le forum Sécurité
    Réponses: 7
    Dernier message: 03/02/2004, 14h27
  4. Réponses: 3
    Dernier message: 08/09/2003, 15h06
  5. Réponses: 9
    Dernier message: 07/05/2003, 12h57

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