Python持續(xù)監(jiān)聽文件變化代碼實(shí)例
在日常的工作中,有時候會有這樣的需求,需要一個常駐任務(wù),持續(xù)的監(jiān)聽一個目錄下文件的變化,對此作出回應(yīng).
pyinotify就是這樣的一個python包,使用方式如下:
一旦src.txt有新的內(nèi)容,程序就可以監(jiān)控到,然后將內(nèi)容發(fā)送
import socket import pyinotify pos = 0 def send(c): c_list = [c] s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(('127.0.0.1', 10001)) print(s.recv(1024).decode('utf-8')) for data in c_list: s.send(data) print(s.recv(1024).decode('utf-8')) s.send(b'exit') s.close() def printlog(): global pos try: fd = open("src.txt") if pos != 0: fd.seek(pos, 0) while True: line = fd.readline() if line.strip(): send(line.strip().encode('utf8')) pos = pos + len(line) if not line.strip(): break fd.close() except Exception as e: print(str(e)) class MyEventHandler(pyinotify.ProcessEvent): # 當(dāng)文件被修改時調(diào)用函數(shù) def process_IN_MODIFY(self, event): try: printlog() except Exception as e: print(str(e)) if __name__ == '__main__': printlog() # watch manager wm = pyinotify.WatchManager() wm.add_watch('/home/ubuntu/data-sync/s3', pyinotify.ALL_EVENTS, rec=True) eh = MyEventHandler() # notifier notifier = pyinotify.Notifier(wm, eh) notifier.loop()
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python 通過監(jiān)聽端口實(shí)現(xiàn)唯一腳本運(yùn)行方式
- python hook監(jiān)聽事件詳解
- Python文件監(jiān)聽工具pyinotify與watchdog實(shí)例
- Python實(shí)現(xiàn)一個服務(wù)器監(jiān)聽多個客戶端請求
- 使用python編寫監(jiān)聽端
- Python簡單實(shí)現(xiàn)socket信息發(fā)送與監(jiān)聽功能示例
- Python利用pyHook實(shí)現(xiàn)監(jiān)聽用戶鼠標(biāo)與鍵盤事件
- Python中使用PyHook監(jiān)聽鼠標(biāo)和鍵盤事件實(shí)例
相關(guān)文章
PaddleNLP ppdiffusers 自動生成兔了個兔海報
這篇文章主要為大家介紹了PaddleNLP ppdiffusers 自動生成兔了個兔海報示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01Python中Matplotlib圖像添加標(biāo)簽的方法實(shí)現(xiàn)
本文主要介紹了Python中Matplotlib圖像添加標(biāo)簽的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04python 讀取數(shù)據(jù)庫并繪圖的實(shí)例
今天小編就為大家分享一篇python 讀取數(shù)據(jù)庫并繪圖的實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12python?中的np.zeros()和np.ones()函數(shù)詳解
這篇文章主要介紹了python?中的np.zeros()和np.ones()函數(shù),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04python爬蟲之Appium爬取手機(jī)App數(shù)據(jù)及模擬用戶手勢
這篇文章主要介紹了python爬蟲怎樣通過Appium爬取手機(jī)App數(shù)據(jù)及模擬用戶手勢,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-08-08