如何用 Python 实时监控文件?方法有三种你喜欢哪一种?
第一种:
这个是最简单的和容易理解的,因为大家都知道 linux 下有 tail 命令,所以你可以直接用 Popen() 函数去调用这个命令来执行获取输出,代码如下:
第二种:
采用 python 对文件的操作来实现,用文件对象的 tell(), seek() 方法分别得到当前文件位置和要移动到的位置,代码如下:
第三种:
利用 python 的 yield 来实现一个生成器函数,然后调用这个生成器函数,这样当日志文件有变化时就打印新的行,代码如下:
最后解释下 seek() 函数的用法,这个函数接收 2 个参数:file.seek(off, whence=0 ),从文件中移动 off 个操作标记(文件指针),正数往结束方向移动,负数往开始方向移动。如果设定了 whence 参数,就以 whence 设定的起始位为准,0 代表从头开始,1 代表当前位置,2 代表文件最末尾位置。
以上就是三个常用方法,具体日志分析的代码大家可以根据自己的业务逻辑去实现,完毕。
转载于:https://juejin.im/post/5be04b45e51d4574d736db89
如何用 Python 实时监控文件?方法有三种你喜欢哪一种?相关推荐
- python实时监控文件目录_教你三种方法,用 Python实时监控文件
原标题:教你三种方法,用 Python实时监控文件 在业务稳定性要求比较高的情况下,运维为能及时发现问题,有时需要对应用程序的日志进行实时分析,当符合某个条件时就立刻报警,而不是被动等待出问题后去解决 ...
- python监控目录变化_如何用python语言监控文件或目录变化
本文python语言实例实现的功能是监控一个文件或目录的变化,如果有变化,把文件上传备份至备份主机,并且要监控上传过程是否有问题等,具体内容如下,希望对大家学习python语言有所帮助.#!/usr/ ...
- 如何用python实时监控股票,并且持续扫描大盘?
推荐好文: ①程序员用Python爬虫做副业半个月就赚了3W ②程序员别瞎学,这几门语言要被淘汰了- 对于金融分析来说,获取数据是第一步.Python的一个强大功能之一就是数据获取(爬虫).但是对于没 ...
- python实时监控文件大小_python实现实时监控文件的方法
在业务稳定性要求比较高的情况下,运维为能及时发现问题,有时需要对应用程序的日志进行实时分析,当符合某个条件时就立刻报警,而不是被动等待出问题后去解决,比如要监控nginx的$request_time和 ...
- linux下使用inotify实时监控文件变更,做完整性检查
完整性检查是HIDS的重要组成部分之一,linux下做完整性检查的思路有3个 1.哈希对比 2.签名校验 3.inotify 方法有2个: A.定期检测,例如通过cron或程序内置计时器 B.实时检测 ...
- linux监控覆盖视频恢复,linux下使用inotify实时监控文件变更,做完整性检查
linux下使用inotify实时监控文件变更,做完整性检查 完整性检查是HIDS的重要组成部分之一,linux下做完整性检查的思路有3个 1.哈希对比 2.签名校验 3.inotify 方法有2个: ...
- python实时监控_python实时监控cpu小工具
本文实例为大家分享了python实时监控cpu的工具,供大家参考,具体内容如下 虽然写的很不完善,但是当练手吧,对于实时监控cpu还是有点用处的,虽然android studio已经提供了一样的功能, ...
- python怎么读取csv的一部分数据_python批量读取csv文件 如何用python将csv文件中的数据读取成数组...
如何用python把多个csv文件数据处理后汇总到新csv文件你看这月光多温柔,小编转头还能看见你,一切从未坍塌. 可以用pandas读取数据,首先把文件方同一个文件价里,然后对当前文件价的所有内容循 ...
- inotifywait监听php,inotifywait 是一个可以实时监控文件变动的工具
inotifywait 是一个可以实时监控文件变动的工具,它利用linux内核中的inotify机制实现监控功能. 查看内核版本 [root@Oracle ~]# uname -r 2.6.32-22 ...
- Python实时检测文件及文件夹变动
Python实时检测文件及文件夹变动 比较流行的是通过watchdog,一个例子: import time import logging from watchdog.observers import ...
最新文章
- 英特尔 QLC 3D NAND 数据存储
- .NET企业级应用架构设计系列之应用服务器
- win7系统怎么获取system权限?
- 后台技术-JavaWeb项目初识
- Erlang列表操作里面的变量绑定规则
- Redis-12Redis 流水线( pipeline )
- 手机号正则_一起刷题学习正则表达式
- JDBC连接informix数据库
- Ubuntu镜像的下载
- ttest求pvalue_.net 调用R语言的函数(计算统计值pvalue 对应excel :ttest)
- 可调直流稳压电源的工作原理以及常见问题
- Similarity Reasoning and Filtration for Image-Text Matching
- 通过主成分分析实现三维模型对齐【Principal Component Analysis】
- 如何删除复制文字产生的word回车换行符
- 在hive上创建数据
- 3DMAX、C4D、Maya导出fbx到Unity设置
- unity3dk帧_Unity K帧动画
- 【字体】写代码编程字体展示推荐
- MySQL【存储过程与存储函数】
- 淘宝接口API开发 taobao代购系统API接口调用