我在 python 中跟踪一个文件以进行任何更改,但它没有检测到对该文件的更改

发布于 2024-12-12 07:37:57 字数 330 浏览 0 评论 0原文

这是我的脚本:

def tail(file, delay=0.5):
    f = open(file, 'r')
    f.seek(0, 2)
    while True:    
        line = f.readline()
        print 'line: ' + line
        if not line:
            time.sleep(delay)
        else:
            print 'line found!'

当我打开文件并向其中添加一些行时,该脚本不会拾取它。我在linux上做这个。

Here is my script:

def tail(file, delay=0.5):
    f = open(file, 'r')
    f.seek(0, 2)
    while True:    
        line = f.readline()
        print 'line: ' + line
        if not line:
            time.sleep(delay)
        else:
            print 'line found!'

When i open the file and add some lines to it, this script is not picking it up. I am doing this on linux.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

谎言 2024-12-19 07:37:57

使用 open('filename', 'a') 而不是 open('filename', 'r') 向文件添加行......我认为你实际上想要附加到文件而不是读取它。

use open('filename', 'a') instead of open('filename', 'r') for adding lines to the file ... I think you actually want to append to the file rather than reading it.

寄风 2024-12-19 07:37:57

代码看起来不错,因此可能存在缓冲问题。尝试使用 f.read(100) 而不是 readline,以便您读取可用的任何内容,而不是搜索行结尾。

The code looks fine so there is likely a buffering issue. Try using f.read(100) instead of readline so that you read whatever is available rather than searching for line endings.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文