使用python编写一个程序,获取并输出使用FileDeletedEvent事件的程序名,只监听指定文件夹
时间: 2023-05-26 16:02:53 浏览: 38
以下是一个示例代码,用于监听指定文件夹的文件删除事件,并获取程序名称:
```python
import os
import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler, FileDeletedEvent
watch_dir = "/path/to/watch/folder" # 指定监听的文件夹路径
class MyEventHandler(FileSystemEventHandler):
def on_deleted(self, event):
if isinstance(event, FileDeletedEvent):
print(f"Program: {event.src_path} deleted {event.event_type}.")
if __name__ == "__main__":
event_handler = MyEventHandler()
observer = Observer()
observer.schedule(event_handler, watch_dir, recursive=True)
observer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
```
你需要替换`watch_dir`变量的值为你要监听的文件夹的路径。
该代码中定义了一个继承自`FileSystemEventHandler`的自定义事件处理器`MyEventHandler`,该处理器会在监听到文件删除事件时触发`on_deleted`方法,并输出程序名称。
然后我们创建了一个`Observer`对象,将之前定义好的`MyEventHandler`实例绑定到上面,然后开始监听指定目录。最后使用`KeyboardInterrupt`捕获Ctrl+C信号,停止并释放Observer对象。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)