日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
創(chuàng)新互聯(lián)Python教程:Python中tail-f如何實(shí)現(xiàn)

說(shuō)明

創(chuàng)新互聯(lián)公司-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比陳倉(cāng)網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式陳倉(cāng)網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋陳倉(cāng)地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴(lài)。

1、tail-f默認(rèn)先讀取最后10行數(shù)據(jù),然后從文件末尾讀取實(shí)時(shí)數(shù)據(jù)。

如果是小文件,可以先讀取所有文件內(nèi)容,輸出最后10行。

2、讀取全文后獲取最后10行的性能并不高,后滾10行的邊界條件也很復(fù)雜。先獲取全文,再得到最后10行的實(shí)現(xiàn)。

實(shí)例

import time
import sys
 
from typing import Callable, NoReturn
 
 
class Tail(object):
    def __init__(
            self,
            file_name: str,
            output: Callable[[str], NoReturn] = sys.stdout.write,
            interval: int = 1
    ):
        self.file_name: str = file_name
        self.output: Callable[[str], NoReturn] = output
        self.interval: int = interval
 
    def __call__(self):
        with open(self.file_name) as f:
            self.read_last_line(f)
            while True:
                line: str = f.readline()
                if line:
                    self.output(line)  # 使用print都會(huì)每次都打印新的一行
                else:
                    time.sleep(self.interval)
 
    def read_last_line(self, f):
        last_lines = f.readlines()[-10:]
        for line in last_lines:
            self.output(line)
 
if __name__ == '__main__':
    filename: str = sys.argv[0]
    Tail(filename)()

以上就是python中tail -f的實(shí)現(xiàn),希望對(duì)大家有所幫助。更多Python高級(jí)指路:python創(chuàng)新互聯(lián)教程

本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。


當(dāng)前文章:創(chuàng)新互聯(lián)Python教程:Python中tail-f如何實(shí)現(xiàn)
文章來(lái)源:http://www.dlmjj.cn/article/cccgggc.html