Python在文件操作方面非常强大,其内置的os模块可以完成大部分的文件操作任务。当需要实时监听某个文件目录,可以借助Python的watchdog库。
为了监听文件目录,需要创建一个文件监视器类,该类需要实现watchdog库的FileSystemEventHandler类。
import time from watchdog.observers import Observer from watchdog.events import FileSystemEventHandler class FileMonitor(FileSystemEventHandler): def on_modified(self, event): print(f"文件 {event.src_path} 被修改!") def on_created(self, event): print(f"文件 {event.src_path} 被创建!") def on_deleted(self, event): print(f"文件 {event.src_path} 被删除!") def on_moved(self, event): print(f"文件 {event.src_path} 被移动到 {event.dest_path}!") if __name__ == '__main__': path = input("请输入文件目录:") event_handler = FileMonitor() observer = Observer() observer.schedule(event_handler, path, recursive=True) observer.start() try: while True: time.sleep(1) except KeyboardInterrupt: observer.stop() observer.join()
在上面的代码中,FileMonitor类继承了FileSystemEventHandler类并实现了on_modified、on_created、on_deleted和on_moved四个方法来处理文件事件。在主程序中,创建了一个Observer对象,并指定要监视的文件目录以及FileMonitor类来处理文件事件,最后启动Observer对象并进入循环等待事件的发生。
无论是在Linux还是在Windows系统上,此代码都可以正确监听文件目录,并实时输出文件事件。此外,我们还可以在FileMonitor类中添加其他需要的方法和属性来完成更复杂的任务。
本文可能转载于网络公开资源,如果侵犯您的权益,请联系我们删除。
0