2024-11-02 Python Python 监视特定文件夹下的文件变化 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455# 监视特定文件夹下的文件变化import osimport timefrom watchdog.events import PatternMatchingEventHandlerfrom watchdog.observers import Observer# 设定对象文件夹和文件名规则monitoring_directory = 'D:\\tmp'target_pattern = '*.*'# 继承PatternMatchingEventHandlerclass FileEventHandler(PatternMatchingEventHandler): def __init__(self, patterns): super(FileEventHandler, self).__init__(patterns=patterns) # 文件创建 def on_created(self, event): file_path = event.src_path file_name = os.path.basename(file_path) print(f'新文件 : {file_name}') # 文件修改 def on_modified(self, event): file_path = event.src_path file_name = os.path.basename(file_path) print(f'文件修改 : {file_name} ') # 文件删除 def on_deleted(self, event): file_path = event.src_path file_name = os.path.basename(file_path) print(f'文件删除 : {file_name} ') # 文件移动 def on_moved(self, event): file_path = event.src_path file_name = os.path.basename(file_path) file_path_new = event.dest_path file_name_new = os.path.basename(file_path_new) print(f'文件移动 : {file_name} -> {file_name_new} ')if __name__ == "__main__": event_handler = FileEventHandler([target_pattern]) observer = Observer() observer.schedule(event_handler, monitoring_directory, recursive=True) observer.start() try: while True: time.sleep(0.1) except KeyboardInterrupt: observer.stop() observer.join() 前一篇 Ubuntu zfs文件系统挂载swap报错:swapon: /swapfile: skipping - it appears to have holes. 后一篇 ESXi手动设置固定MAC地址报错:00:50:56:XX:YY:ZZ is not a valid static Ethernet address. It conflicts with VMware reserved MACs for other usage.