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
Libérer: 2024-12-10 03:18:13
original
1058 Les gens l'ont consulté

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()
Copier après la connexion

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
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal