写一个python监控本地文件夹变化,调用接口示例
时间: 2023-05-20 09:04:09 浏览: 76
可以使用watchdog库来监控本地文件夹变化,以下是一个示例代码:
```python
import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
import requests
class MyHandler(FileSystemEventHandler):
def on_modified(self, event):
# 文件夹中有文件被修改时调用
print(f'File {event.src_path} has been modified')
# 调用接口
response = requests.get('http://example.com/api')
print(response.text)
if __name__ == "__main__":
event_handler = MyHandler()
observer = Observer()
observer.schedule(event_handler, path='/path/to/folder', recursive=True)
observer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
```
在`MyHandler`类中,我们重写了`on_modified`方法,当文件夹中有文件被修改时,会调用该方法。在该方法中,我们可以调用接口,这里使用了requests库来发送GET请求。在`main`函数中,我们创建了一个`Observer`对象来监控文件夹变化,并将`MyHandler`对象和文件夹路径传递给它。最后,我们使用`try-except`语句来捕获`KeyboardInterrupt`异常,以便在程序被中断时正确停止观察器。