日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

watchdog应用实例

發布時間:2025/7/14 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 watchdog应用实例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

watchdog應用實例

By 鬼貓貓 20130504 http://www.cnblogs.com/muyr/

實例:監測某文件夾,一旦文件夾里有文件,就把它剪切到其他服務器

import sys import os, shutil import time import logging from watchdog.observers import Observer from watchdog.events import (LoggingEventHandler, FileSystemEventHandler)backupDir = 'D:/Work/backup' baseDir = 'S:/Test/Upload'def copyFile(fromFile, toDir):if os.path.isdir(fromFile):clearDir = fromFile[len(baseDir):]try:os.makedirs(toDir + clearDir)print 'NewFolder: ', fromFile.encode('utf-8'), ' ===> ', (toDir + fromFile[len(baseDir):]).encode('utf-8')except:print 'NewFolder-PASS:', fromFile.encode('utf-8')returnelse:clearDir = os.path.dirname(fromFile)[len(baseDir):]if not os.path.isdir(toDir + clearDir):os.makedirs(toDir + clearDir)try:time.sleep(0.2)shutil.move(fromFile, toDir + fromFile[len(baseDir):])print 'MoveFile: ', fromFile.encode('utf-8'), ' ===> ', (toDir + fromFile[len(baseDir):]).encode('utf-8')except:print 'MoveFile-PASS:', fromFile.encode('utf-8')returnreturnclass TestEventHandler(FileSystemEventHandler):def on_any_event(self, event):# print("event noticed: " + event.event_type + # " on file " + event.src_path.encode('utf-8') + " at " + time.asctime())passdef __init__(self, pattern='*'):self.pattern = patterndef on_moved(self, event):print ("moved src path:"+ event.src_path.encode('utf-8'))print ("moved dest path:"+ event.dest_path)copyFile(event.dest_path, backupDir)def on_created(self, event):print ("created path:"+ event.src_path.encode('utf-8'))copyFile(event.src_path, backupDir)def on_deleted(self, event):print ("deleted path:"+ event.src_path.encode('utf-8'))def should_reload(self, event):if isinstance(event, FileSystemMovedEvent):return Truereturn Falsedef on_modified(self, event):print ("modified path:"+ event.src_path.encode('utf-8'))copyFile(event.src_path, backupDir)if __name__ == "__main__":logging.basicConfig(level=logging.INFO,format='%(asctime)s - %(message)s',datefmt='%Y-%m-%d %H:%M:%S')# path = sys.argv[1] if len(sys.argv) > 1 else '.'# event_handler = LoggingEventHandler()event_handler = TestEventHandler()observer = Observer()observer.schedule(event_handler, baseDir, recursive=True)observer.start()try:while True:time.sleep(1)except KeyboardInterrupt:observer.stop()observer.join()

補充一點:程序最終的效果,監測文件夾一旦有文件,就立馬剪切到備份路徑下,但是檢測位置里的文件夾將不會被刪除

Powered by Sublog

轉載于:https://www.cnblogs.com/muyr/p/3723507.html

總結

以上是生活随笔為你收集整理的watchdog应用实例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。