Python: непрерывно читать файл даже после его логирования в Windows

В этой ссылке в принятом ответе дается решение на базе Unix. Я хочу сделать то же самое в окнах. Поскольку i-node не работает с окнами и стеком python 2.7, я не могу найти хороший способ прочитать файл журнала. Мой текущий способ выглядит примерно так:

import time

cur = 0
while True:
    try:
        with open('myfile') as f:
            f.seek(0,2)
            if f.tell() < cur:
                f.seek(0,0)
            else:
                f.seek(cur,0)
            for line in f:
                print line.strip()
            cur = f.tell()
    except IOError, e:
        pass
    time.sleep(1)

Проблема с этим заключается в том, что последние строки будут пропущены, если строки добавляются во время сна, а вращение происходит до пробуждения. Мне важно прочитать все строки. Есть ли способ сделать это в окнах?


person Pratik Gandhi    schedule 18.01.2019    source источник
comment
Вы пробовали это решение code.activestate.com/recipes/ 577968-log-watcher-tail-f-log из сообщения, на которое вы ссылались?   -  person May.D    schedule 18.01.2019
comment
Если это действительно важно, вам нужен лучший дизайн, который не зависит от кладжа, который неправильно использует хранилище данных на основе состояния (файловую систему) в качестве канала обмена сообщениями на основе событий.   -  person Andrew Henle    schedule 18.01.2019
comment
Да, для Windows функция get_file_id возвращает st_ctime, который на самом деле не является идентификатором файла. тем не менее, это решение работает во всех случаях, о которых я могу думать, если есть какой-то способ получить фактический идентификатор файла, я был бы более счастлив :)   -  person Pratik Gandhi    schedule 18.01.2019