j'ai un gros fichier texte (~ 7 Go). Je cherche s'il existe le moyen le plus rapide de lire un gros fichier texte. J'ai lu sur l'utilisation de plusieurs approches comme lecture morceau par morceau afin d'accélérer le processus.
à l'exemple effbot suggérer
# File: readline-example-3.py
file = open("sample.txt")
while 1:
lines = file.readlines(100000)
if not lines:
break
for line in lines:
pass # do something**strong text**
afin de traiter 96 900 lignes de texte par seconde. Autre auteurs suggère d'utiliser islice ()
from itertools import islice
with open(...) as f:
while True:
next_n_lines = list(islice(f, n))
if not next_n_lines:
break
# process next_n_lines
list(islice(f, n))
renverra une liste des prochaines lignes n
du fichier f
. L'utiliser dans une boucle vous donnera le fichier en morceaux de lignes n
with open(<FILE>) as FileObj:
for lines in FileObj:
print lines # or do some other thing with the line...
va lire une ligne à la fois dans la mémoire et fermer le fichier une fois terminé ...