Python如何监控文件的修改
时间: 2023-11-19 08:30:45 浏览: 39
监控文件的修改可以使用`watchdog`库中的`on_modified`方法来处理。以下是一个简单的示例代码:
```python
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
class MyHandler(FileSystemEventHandler):
def on_modified(self, event):
if not event.is_directory:
print(f"{event.src_path} has been modified.")
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`类重载了`on_modified`方法,在文件被修改时会触发该方法,并输出被修改的文件路径。`event.is_directory`用于判断事件是否是目录的变化,只有文件的变化才会输出。
注意,`watchdog`库只能监控已有的文件的修改,无法监控新文件的创建。如果需要监控新文件的创建和修改,可以考虑使用`inotify`或`pyinotify`等第三方库。