In Python wird die Datei durch Iteration gelesen, sodass Sie sich nicht der EOF bewusst sein müssen, die explizit das Ende des Dateilesens angibt. Ich war jedoch süchtig danach, mehrere Dateien gleichzeitig zu verarbeiten, und untersuchte daher, wie ich EOF erhalten kann.
Wenn der Rückgabewert von readline () leer ist, hat er EOF erreicht.
# -*- 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
Wenn Sie die nächste Funktion von einem Dateiobjekt aus aufrufen, erhalten Sie eine Ausnahme namens StopIteration, wenn EOF erreicht ist. Auf diese Weise kann EOF erkannt werden.
# -*- coding: utf-8 -*-
#!/usr/bin/env python
filename = 'test.txt'
with open(filename,'r') as fi
while True:
try:
line = fi.next()
except StopIteration: #Erreichen Sie EOF
break
Recommended Posts