Maison > développement back-end > Tutoriel Python > Comment puis-je compter efficacement les lignes dans des fichiers volumineux à l'aide de Python ?

Comment puis-je compter efficacement les lignes dans des fichiers volumineux à l'aide de Python ?

Mary-Kate Olsen
Libérer: 2024-12-13 02:52:10
original
970 Les gens l'ont consulté

How Can I Efficiently Count Lines in Large Files Using Python?

Obtenir le nombre de lignes pour les fichiers volumineux en Python

Le calcul du nombre de lignes de fichiers volumineux peut être une tâche gourmande en ressources. En optimisant à la fois l'efficacité et la consommation de mémoire, nous pouvons relever ce défi efficacement.

Une approche largement adoptée consiste à utiliser l'énumération dans une boucle for, comme le démontre l'exemple fourni. Cependant, cette méthode peut être gourmande en performances.

Une solution plus efficace

Pour une solution plus rapide et plus concise, nous pouvons utiliser les éléments suivants :

num_lines = sum(1 for _ in open('myfile.txt'))
Copier après la connexion

Ce code sur une seule ligne exploite la flexibilité des expressions génératrices pour compter les lignes sans parcourir tout le contenu du fichier et sans les stocker dans mémoire.

Autres améliorations des performances

Pour améliorer la vitesse et la robustesse, nous pouvons incorporer le mode binaire (rb) et inclure le code dans un bloc with pour gérer la fermeture de fichier :

with open("myfile.txt", "rb") as f:
    num_lines = sum(1 for _ in f)
Copier après la connexion

Utilisation obsolète

Dans les versions Python antérieures à 3.3, le « U » en mode rbU a été utilisé pour permettre la prise en charge universelle des nouvelles lignes. Cependant, cette utilisation est obsolète et le mode rb doit être utilisé à la place. Python 3.11 a supprimé "U" de rbU, faisant de rb l'option standard.

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