閱讀755 返回首頁    go 阿裏雲 go 技術社區[雲棲]


通過Python實現簡單的tail -f功能

一般我們通過tail -f來實時刷新展示一些日誌內容,這個功能其實可以通過幾行代碼就能做到:

#!/usr/bin/env python

import os
import sys
import select

LOGFILE = "/tmp/logs.log"

fp = open(LOGFILE, "r")
# move to end of the file
fp.seek(0, os.SEEK_END)
while(1):
    r,w,e = select.select([fp.fileno()], [], [fp.fileno()])
    if fp.fileno() in e:
        sys.stderr.write("Error occured\n")
        fp.close()
        sys.exit(1)
    if fp.fileno() in r:
        while(1):
            line = fp.readline()
            if line == '':
                break
            sys.stdout.write(line)

最後更新:2017-09-30 16:33:04

  上一篇:go  iOS11開發新特性
  下一篇:go  螞蟻金服AI團隊 + 會員技術團隊招聘算法工程師