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

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

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-03 21:40:12111parcourir

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

Lecture de lignes de fichiers spécifiques à l'aide de numéros de ligne

Lors du traitement de fichiers volumineux, il est souvent nécessaire de lire uniquement des lignes spécifiques. Pour y parvenir, Python propose plusieurs méthodes qui vous permettent de parcourir un fichier et de lire des lignes en fonction de leurs numéros de ligne.

Utiliser une boucle For

Si le fichier est les contraintes de taille ou de mémoire ne sont pas un problème, vous pouvez utiliser une boucle for pour parcourir le fichier et lire les lignes par leur numéro de ligne. Par exemple, pour lire les lignes 26 et 30 d'un fichier :

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 les numéros de ligne en Python commencent à 0, donc le numéro de ligne 26 correspond à la 27ème ligne du fichier.

Utilisation de l'instruction with (Python 2.6 ou version ultérieure)

Une autre approche, introduit dans Python 2.6, consiste à utiliser l'instruction with pour ouvrir le fichier et parcourir ses lignes :

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 méthode garantit que le fichier est automatiquement fermé à la fin de la boucle, même en cas d'exception .

En utilisant ces techniques, vous pouvez lire efficacement des lignes spécifiques d'un fichier sans avoir à analyser l'intégralité du fichier ou à utiliser des bibliothèques externes.

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