Méthode paresseuse pour lire de gros fichiers en Python : traitement par morceaux
La lecture de fichiers volumineux en Python peut être difficile, surtout s'ils dépassent la capacité de votre ordinateur mémoire disponible. Pour atténuer ce problème, les méthodes paresseuses offrent une solution en lisant le fichier pièce par pièce, en traitant chaque partie et en stockant les résultats séparément.
Méthode 1 : Utiliser un générateur basé sur le rendement
Une façon de créer une méthode paresseuse consiste à utiliser une fonction génératrice qui génère des morceaux de données au fur et à mesure de leur lecture. Cela vous permet de parcourir le fichier sans charger l'intégralité du fichier en mémoire.
def read_in_chunks(file_object, chunk_size=1024): while True: data = file_object.read(chunk_size) if not data: break yield data
Utilisation :
with open('really_big_file.dat') as f: for piece in read_in_chunks(f): process_data(piece)
Méthode 2 : Utilisation d'Iter et d'une fonction d'assistance
Une autre option consiste à utiliser la fonction iter et une fonction d'assistance pour définir la taille de chacun. chunk.
f = open('really_big_file.dat') def read1k(): return f.read(1024) for piece in iter(read1k, ''): process_data(piece)
Méthode 3 : Utilisation de l'itération basée sur des lignes
Si le fichier est basé sur des lignes, vous pouvez profiter du fichier paresseux intégré de Python objet qui génère des lignes au fur et à mesure de leur lecture.
for line in open('really_big_file.dat'): process_data(line)
Ces méthodes paresseuses permettent un traitement efficace des fichiers volumineux en lisant uniquement les parties nécessaires à une fois, réduisant la consommation de mémoire et évitant les blocages du système.
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!