Optimisation des sauts de ligne dans les fichiers texte volumineux
Le traitement de fichiers texte volumineux ligne par ligne peut s'avérer inefficace lors de la recherche d'une ligne spécifique. Le code fourni parcourt chaque ligne d'un fichier de 15 Mo pour atteindre le numéro de ligne souhaité, en négligeant le fait que la ligne requise peut se trouver beaucoup plus tôt dans le fichier.
Une approche alternative
Pour résoudre ce problème, envisagez d'utiliser une technique d'optimisation qui exploite les décalages de ligne. Cela implique de lire l'intégralité du fichier une fois pour construire une liste contenant le décalage de départ de chaque ligne.
Implementation
line_offset = [] # List to store line offsets
offset = 0 # Current offset
# Loop through each line in the file
for line in file:
line_offset.append(offset) # Store the current line offset
offset = len(line) # Update the offset for the next line
file.seek(0) # Reset the file pointer to the beginning
Utilisation
Pour passer à une ligne spécifique (n), recherchez simplement le décalage correspondant :
line_number = n
file.seek(line_offset[line_number])
Cette approche élimine le besoin de traiter toutes les lignes intermédiaires, ce qui entraîne une amélioration significative des performances pour les fichiers volumineux.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3