Python如何监控文件
时间: 2023-11-05 09:30:31 浏览: 87
Python可以使用`watchdog`库来监控文件。以下是一个简单的示例代码,可以监控指定目录下的所有文件和子目录的变化:
```python
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
class MyHandler(FileSystemEventHandler):
def on_any_event(self, event):
print(event)
if __name__ == "__main__":
event_handler = MyHandler()
observer = Observer()
observer.schedule(event_handler, path='.', recursive=True)
observer.start()
try:
while True:
pass
except KeyboardInterrupt:
observer.stop()
observer.join()
```
在上面的代码中,`MyHandler`类继承自`FileSystemEventHandler`,通过重载`on_any_event`方法来处理文件变化事件。`Observer`类用于观察文件系统,`schedule`方法用于注册`event_handler`,`start`方法用于开始监控,`stop`方法用于停止监控,`join`方法用于等待监控线程结束。在`try`块中使用`while True`来保证监控线程一直运行,直到`KeyboardInterrupt`异常被捕获。
阅读全文