[Python] 디렉토리 감시 이벤트
2024. 2. 20. 17:11ㆍ카테고리 없음
일전에 Java를 통하여 디렉토리의 이벤트 소스를 확인하였다.
이번에는 파이썬 버전을 확인해 보고자 하였다.
파이썬에서는 Watchdog이라는 라이블러리를 사용하여 진행할 수 있다.
1. watchdog 라이블러리 설치
pip install watchdog
2. 파이썬 소스
import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
class MyHandler(FileSystemEventHandler):
def on_modified(self, event):
if event.is_directory:
return
# 파일이 수정되었을 때 실행할 동작을 여기에 작성합니다.
print(f'파일이 수정되었습니다: {event.src_path}')
def on_created(self, event):
if event.is_directory:
return
# 파일이 생성되었을 때 실행할 동작을 여기에 작성합니다.
print(f'파일이 생성되었습니다: {event.src_path}')
def on_deleted(self, event):
if event.is_directory:
return
# 파일이 삭제되었을 때 실행할 동작을 여기에 작성합니다.
print(f'파일이 삭제되었습니다: {event.src_path}')
if __name__ == "__main__":
folder_to_watch = '/mnt'
event_handler = MyHandler()
observer = Observer()
observer.schedule(event_handler, folder_to_watch, recursive=True)
observer.start()
print(f'폴더 감시 시작: {folder_to_watch}')
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
해당 사항의 내용을 확인하여 특정 이벤트가 발생할 경우에 처리하면 될 것 같다.
반응형