>  기사  >  백엔드 개발  >  Python을 사용하여 파일 내용 변경 코드 모니터링

Python을 사용하여 파일 내용 변경 코드 모니터링

不言
不言원래의
2018-06-04 11:59:103491검색

이 글은 주로 Python을 사용하여 파일 내용 변경을 모니터링하는 코드를 소개합니다. 이는 특정 참조 가치가 있습니다. 이제 여러분과 공유합니다. 필요한 친구가 참조할 수 있습니다.

Python에는 파일 모니터링을 위한 두 가지 주요 라이브러리가 있습니다. pyinotify 이고 하나는 감시자입니다. pyinotify는 Linux 플랫폼의 inotify에 의존합니다. 오늘은 pyinotify에 대해 논의하겠습니다.

seek를 사용하여 파일 내용을 모니터링하고 변경 사항을 인쇄하세요.

#/usr/bin/env python
#-*- coding=utf-8 -*-
 
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 도구를 사용하세요. 커지면 작업을 쉽게 완료할 수 있습니다:

#!/usr/bin/env python
#-*- coding=utf-8 -*-
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을 사용하여 파일 내용 변경 코드 모니터링의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.