python 1. 有文件或目录被删除时,提示文件或目录被删除
时间: 2024-01-22 10:18:45 浏览: 22
你可以使用Python的watchdog库来监控文件系统中的删除事件,并在文件或目录被删除时发出提示。以下是一个示例代码:
```python
import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
class MyHandler(FileSystemEventHandler):
def on_deleted(self, event):
if event.is_directory:
print(f"Directory '{event.src_path}' has been deleted!")
else:
print(f"File '{event.src_path}' has been deleted!")
if __name__ == "__main__":
path = "/path/to/directory" # 监控的目录路径
event_handler = MyHandler()
observer = Observer()
observer.schedule(event_handler, path, recursive=True)
observer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
```
以上代码创建了一个`MyHandler`类,用于处理文件系统事件。在`on_deleted()`方法中,我们检查事件类型,如果是目录删除事件,则输出相应的提示信息。如果是文件删除事件,则也输出相应的提示信息。
在主函数中,我们使用`Observer`类来启动监控,并将`MyHandler`实例设置为事件处理程序。我们使用`observer.schedule()`方法来告诉监视器要监视哪个路径。最后,在一个无限循环中等待键盘中断信号,以便在程序退出时停止监视器。