Itérer plusieurs fois dans un fichier
En Python, parcourir un fichier à l'aide de readlines() lit l'intégralité du fichier en mémoire et le stocke sous forme de liste de lignes. Lorsque vous parcourez à nouveau le fichier, Python a déjà atteint la fin du fichier, il n'y a donc plus rien à lire.
Comportement normal
Oui, c'est un comportement normal pour que l'itération sur un fichier plusieurs fois échoue à moins que vous ne réinitialisiez l'itération. En effet, le fichier IO de Python fonctionne de manière séquentielle, se déplaçant du début du fichier à la fin lors de la première itération.
Réinitialisation de l'itération
Pour réinitialiser l'itération et relisez le fichier, vous avez deux options :
Utilisation de l'instruction with
Une approche plus pratique consiste à utiliser l'instruction with, qui ferme automatiquement le fichier lorsque vous quittez le bloc de code. Cela vous permet de parcourir le fichier à plusieurs reprises sans le fermer et le rouvrir explicitement :
with open('baby1990.html', 'rU') as f: for line in f: print(line)
En utilisant l'instruction with, vous pouvez exécuter le bloc de code plusieurs fois et lire le fichier à chaque fois sans vous soucier de réinitialiser le fichier. itération.
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!