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

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

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-10 03:18:13981parcourir

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

Lecture de fichiers spécifiques à une ligne en Python

Lors du traitement de fichiers texte volumineux, il est souvent nécessaire de lire uniquement des lignes spécifiques plutôt que le fichier entier . Cela peut optimiser les performances et économiser de la mémoire. Python propose des moyens d'y parvenir sans charger le fichier complet en mémoire.

Lecture de lignes spécifiques à l'aide du numéro de ligne

Supposons que vous souhaitiez lire la ligne 26 et la ligne 30 d'un gros fichier texte. Une approche simple consiste à ouvrir le fichier et à utiliser une boucle for pour parcourir les lignes :

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

Notez que i == n - 1 pour la nième ligne. Cela vous permet de spécifier avec précision les numéros de ligne souhaités.

Alternativement, si vous utilisez Python 2.6 ou version ultérieure, vous pouvez utiliser la syntaxe suivante :

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

Cette approche gère automatiquement les fichiers clôture et est plus concis.

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