本文摘自php中文网,作者不言,侵删。
这篇文章主要介绍了关于使用Python监控文件内容变化代码,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下在python中文件监控主要有两个库,一个是pyinotify,一个是watchdog。pyinotify依赖于Linux平台的inotify,今天我们就来探讨下pyinotify.
利用seek监控文件内容,并打印出变化内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
pos = 0
while True :
con = open ( "a.txt" )
if pos ! = 0 :
con.seek(pos, 0 )
while True :
line = con.readline()
if line.strip():
print line.strip()
pos = pos + len (line)
if not line.strip():
break
con.close()
|
利用工具pyinotify监控文件内容变化,当文件逐渐变大时,可轻松完成任务:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | import os
import datetime
import pyinotify
import logging
pos = 0
def printlog():
global pos
try :
fd = open ( "log/a.txt" )
if pos ! = 0 :
fd.seek(pos, 0 )
while True :
line = fd.readline()
if line.strip():
print line.strip()
pos = pos + len (line)
if not line.strip():
break
fd.close()
except Exception,e:
print str (e)
class MyEventHandler(pyinotify.ProcessEvent):
def process_IN_MODIFY( self ,event):
try :
printlog()
except Exception,e:
print str (e)
def main():
printlog()
wm = pyinotify.WatchManager()
wm.add_watch( "log/a.txt" ,pyinotify.ALL_EVENTS,rec = True )
eh = MyEventHandler()
notifier = pyinotify.Notifier(wm,eh)
notifier.loop()
if __name__ = = "__main__" :
main()
|
相关推荐:
如何使用Python的Requests包实现模拟登陆
以上就是使用Python监控文件内容变化代码的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
Python web看什么书
如何选择Python代码的编辑器
Python是c语言编的吗
Python怎么变成中文版
Python教你高效办公,自制屏幕翻译工具
Python如何让字典保持有序(代码)
Python解决n阶台阶走法问题的方法
简单谈谈Python的pycurl模块_Python
Python中的seed()方法怎么用
什么是Python线程模块?九种方法助你了解线程模块
更多相关阅读请进入《Python》频道 >>
人民邮电出版社
python入门书籍,非常畅销,超高好评,python官方公认好书。
转载请注明出处:木庄网络博客 » 使用Python监控文件内容变化代码