Voici les résultats de timeit pour les 2 premières réponses. Notez que "file.txt" est un fichier texte contenant plus de 100 000 lignes de chaînes de caractères aléatoires avec une taille de fichier de plus de 1 Mo.
Utilisation de itertools :
import itertools
from timeit import timeit
timeit("""with open("file.txt", "r") as fo:
for line in itertools.islice(fo, 90000, None):
line.strip()""", number=100)
>>> 1.604976346003241
En utilisant deux boucles for :
from timeit import timeit
timeit("""with open("file.txt", "r") as fo:
for i in range(90000):
next(fo)
for j in fo:
j.strip()""", number=100)
>>> 2.427317383000627
Il est clair que la méthode itertools est plus efficace lorsqu'il s'agit de gros fichiers.
0 votes
stackoverflow.com/questions/620367/ ou stackoverflow.com/questions/4796764/ etc ?