def delimited(file, delimiter='\n', bufsize=4096):
    buf = ''
while True:
    newbuf = file.read(bufsize)
if not newbuf:
    yield buf
return
buf += newbuf
lines = buf.split(delimiter)
for line in lines[:-1]:
    yield line
buf = lines[-1]
Как читать записи, завершенные пользовательским разделителем из файла в python?