Annonce

Réduire
Aucune annonce.

Script Python Traitement de chacune des lignes d'un fichier type texte

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Tutoriel Script Python Traitement de chacune des lignes d'un fichier type texte

    Souvent ce genre de question est posée.

    Envoyé par PO
    Comment traiter chaque ligne d'un fichier?
    Ce code est une proposition, il faut savoir qu'il en existe une dizaine différente, j'attend donc une suite à mon maxi mini tutoriel si on peut dire.

    Code:
    with open('monfichier.txt', 'r') as f:
        liste_ligne = [ligne.strip('\n') for ligne in f.readlines()]
        for ligne in liste_ligne:
            # traitement...
    Voilà...

  • #2
    pour y aller au "pas-à-pas"

    Pour lire des fichiers volumineux...
    Code:
    with open("monfichier.txt", "r") as f:  #ferme automatiquement le fichier en sortie de bloc
        ligne = f.readline() #se charge de sectionner une ligne du fichier
        #traitement de ligne...
    Et puis, un module que j'apprécie bien pour les fichiers textes
    linecache il permet un accès direct à une ligne dans un fichier textes (non binaire). Très sympa lorsque l'on bricole un chercher le mot ou un pendu.
    Code:
    import linecache    #import du module pour acces direct aux fichiers textes
    maLigne = linecache.getline("monfichier.txt", numeroDeLigneVoulue)

    Commentaire


    • #3
      readline ne lit qu'une seule ligne, si tu veux traiter toutes les lignes du fichier il faudra une boucle while.

      exact pour linecache, on pourrait aussi trouver son équivalent dans mon code précédent.

      Code:
      from random import randint
      with open('monfichier.txt', 'r') as f:     
          liste_ligne = [ligne.strip('\n') for ligne in f.readlines()]
      
      print liste_ligne[0, randint(len(liste_ligne))]
      Mais pour ce genre de chose linecache est supérieur

      Commentaire


      • #4
        Envoyé par fred Voir le message
        readline ne lit qu'une seule ligne, si tu veux traiter toutes les lignes du fichier il faudra une boucle while.
        Exact. Je crois que mon cerveau a un instant assimilé ce with à un while. :aie:

        Commentaire

        Chargement...
        X