Maison >développement back-end >Tutoriel Python >Comment lire efficacement des lignes spécifiques à partir d'un fichier volumineux en Python ?

Comment lire efficacement des lignes spécifiques à partir d'un fichier volumineux en Python ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-08 19:39:12503parcourir

How to Efficiently Read Specific Lines from a Large File in Python?

Lecture de lignes spécifiques à partir d'un fichier

Lors de l'itération dans un fichier à l'aide d'une boucle for, il peut être nécessaire de lire uniquement des lignes spécifiques. En Python, même si l'on peut utiliser une boucle pour parcourir toutes les lignes d'un fichier, il n'existe aucune fonctionnalité intégrée permettant de lire des lignes spécifiques sans lire l'intégralité du fichier.

Cependant, une solution de contournement est disponible pour les situations où le fichier est volumineux et la lecture de l'intégralité du fichier en mémoire n'est pas possible. Cela implique de parcourir le fichier ligne par ligne et d'appliquer une condition pour lire les lignes souhaitées :

fp = open("file")
for i, line in enumerate(fp):
    if i == 25:
        # Process 26th line
    elif i == 29:
        # Process 30th line
    elif i > 29:
        break
fp.close()

Remarque : Le numéro de ligne dans la boucle est de base zéro, ce qui signifie le premier la ligne a un indice de 0.

Python 2.6 et versions ultérieures :

En Python 2.6 et versions ultérieures, vous pouvez exploiter l'instruction with pour garantir une gestion correcte des fichiers :

with open("file") as fp:
    for i, line in enumerate(fp):
        if i == 25:
            # Process 26th line
        elif i == 29:
            # Process 30th line
        elif i > 29:
            break

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn