Python:即使在windows中对文件进行了logrotated,也可以连续读取文件

2024-03-29 09:40:56 发布

您现在位置:Python中文网/ 问答频道 /正文

this链接中,在接受的答案中,给出了基于Unix的解决方案。我想在windows中也这样做。由于i-node不适用于windows和python2.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)

问题是,如果在睡眠时追加最后一行,并且在醒来前发生旋转,则会丢失最后一行。阅读所有的台词对我来说很重要。有什么方法可以在windows中实现吗?你知道吗


Tags: 文件方法答案nodetime堆栈链接windows