En python, le fichier est lu par itération, il n'est donc pas nécessaire de connaître l'EOF qui indique explicitement la fin de la lecture du fichier. Cependant, j'étais accro au traitement de plusieurs fichiers en même temps, alors j'ai cherché comment obtenir EOF.
Lorsque la valeur de retour de readline () est vide, elle a atteint EOF.
# -*- coding: utf-8 -*-
#!/usr/bin/env python
filename = 'test.txt'
with open(filename,'r') as fi:
while True:
line = fi.readline()
if not line:
break
Si vous appelez la fonction suivante à partir d'un objet fichier, vous obtiendrez une exception appelée StopIteration lorsque EOF est atteint. En attrapant cela, EOF peut être détecté.
# -*- coding: utf-8 -*-
#!/usr/bin/env python
filename = 'test.txt'
with open(filename,'r') as fi
while True:
try:
line = fi.next()
except StopIteration: #Atteindre EOF
break
Recommended Posts