Python中tail -f如何实现
- 更新时间:2021-06-18 08:42:14
- 编辑:贺水格
为找教程的网友们整理了相关的编程文章,网友宿秋英根据主题投稿了本篇教程内容,涉及到最后、读取、全文、数据、文件相关内容,已被819网友关注,内容中涉及的知识点可以在下方直接下载获取。
参考资料
- 最后一个人类 PDF 电子书 / 2.26 MB / 马克·奥康奈尔 推荐度:
- 从Lucene到Elasticsearch:全文检索实战 PDF 电子书 / 79 MB / 姚攀 推荐度:
正文内容
今天在网上看到《Python中tail -f如何实现》,觉得有用就收藏了,把代码做了调试发布出来,为了大家阅读方便。
说明
1、tail-f默认先读取最后10行数据,然后从文件末尾读取实时数据。如果是小文件,可以先读取所有文件内容,输出最后10行。
2、读取全文后获取最后10行的性能并不高,后滚10行的边界条件也很复杂。先获取全文,再得到最后10行的实现。
实例
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都会每次都打印新的一行 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的实现,希望对大家有所帮助。更多Python高级指路:python高级
相关教程
-
详解Python的json文件读取及中文乱码显示问题解决方法
这篇文章主要介绍了Python实现的json文件读取及中文乱码显示问题解决方法,涉及Python针对json文件的读取载入、编码转换等相关操作技巧,需要的朋友可以参考下
发布时间:2019-06-06
-
python使用xlrd模块读取excel的方法实例
Python读取Excel表格,相比xlwt来说,xlrd提供的接口比较多,下面这篇文章主要给大家介绍了关于python使用xlrd模块读取excel的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
发布时间:2019-07-23