Python持續(xù)監(jiān)聽文件變化代碼實(shí)例
在日常的工作中,有時(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)文件被修改時(shí)調(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 自動生成兔了個兔海報(bào)
這篇文章主要為大家介紹了PaddleNLP ppdiffusers 自動生成兔了個兔海報(bào)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01
Python中Matplotlib圖像添加標(biāo)簽的方法實(shí)現(xiàn)
本文主要介紹了Python中Matplotlib圖像添加標(biāo)簽的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
python 讀取數(shù)據(jù)庫并繪圖的實(shí)例
今天小編就為大家分享一篇python 讀取數(shù)據(jù)庫并繪圖的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12
python?中的np.zeros()和np.ones()函數(shù)詳解
這篇文章主要介紹了python?中的np.zeros()和np.ones()函數(shù),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04
python爬蟲之Appium爬取手機(jī)App數(shù)據(jù)及模擬用戶手勢
這篇文章主要介紹了python爬蟲怎樣通過Appium爬取手機(jī)App數(shù)據(jù)及模擬用戶手勢,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08

