Fonction compter le nombre de ligne

Soyez le premier à donner votre avis sur cette source.

Snippet vu 21 246 fois - Téléchargée 15 fois

Contenu du snippet

Bonjour, ma première fonction que je poste ... Pour les gros débutant (dont je fais parti) je pense que cela peut aider à comprendre comment on explore un fichier ligne par ligne avec file(...,...).

Source / Exemple :


import os , time

# FONCTION RENVOYANT LE NOMBRE DE LIGNES D'UN FICHIER TEXTE
def countLigne(fichier):

    Liste=file(fichier,'r')
    i=1
    Ligne=Liste.readline()
    # "Tant que la ligne n'est pas égale à "" "
    #  ==> tant qu'on est pas arrivé à la fin 
    while Ligne!="":
        #on lit une ligne
        Ligne=Liste.readline()
        #on ajoute 1 à notre compteur
        i+=1
    #on retourne le compteur
    return i

#on note que sous windows le symbole "\" doit etre doublé quand il y a certains caractères

Conclusion :


pour afficher faire un "print countLigne("nom_de_fichier")

Si quelqu'un à une meilleur solution car là mon projet doit traiter des fichiers de plus d'1 million de lignes ...
Excusez moi si vous trouvez ma sources inutiles xD mais bon peut être qu'à un certains niveaux on se rend plus compte de la difficulté pour les tout débutants :D

A voir également

Ajouter un commentaire

Commentaires

Messages postés
9
Date d'inscription
samedi 26 décembre 2009
Statut
Membre
Dernière intervention
29 mars 2011
7
#la même chose en 10 fois plus court et rapide:

Liste = file("release_249.txt",'r')
lignes = Liste.readlines()
print len(lignes)
Messages postés
1
Date d'inscription
jeudi 21 mai 2009
Statut
Membre
Dernière intervention
12 juillet 2009

Wééé super!
C'est pile ce qu'il me falait!
Merci :-)
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
283
cette source n'est pas tres interessante, néamoins, je comprends parfaitement qu'on ait envie de poster ses premiers codes, encore faudrait il qu'ils soient justes, je ne reviens pas sur les erreurs précédement expliquées. Tout de meme c'est beaucoup pour un code aussi simple, j'en ajoute une, tu ne refermes pas le fichier et utilise plutot open que file.
Messages postés
1
Date d'inscription
vendredi 5 août 2005
Statut
Membre
Dernière intervention
1 mars 2009

Ces petits bouts de code, pour des petits pb sont toujours intéressants.
La différence de 1 vient simplement de l'initialisation de i=1 alors qu'on ne sait pas encore s'il y a une ligne ou non. Il faut l'initialiser à 0. D'ailleurs pour être "logique" jusqu'au bout je mettrai le i+=1 juste après le while.
Le gain de temps est impressionnant !
Cordialement
Messages postés
21
Date d'inscription
lundi 2 juin 2008
Statut
Membre
Dernière intervention
20 février 2009

la différence de 1 entre les 2 nombres de lignes vient du fait que la dernière ligne est vide
enfin c'est ce que je pense
Afficher les 7 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.