Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

변경 사항에 대해 Python 파일을 모니터링하는 방법은 무엇입니까?

<시간/>

플랫폼 간 문제로 인해 모든 언어의 변경 사항에 대해 파일을 모니터링하는 것은 어렵습니다. 파이썬에는 변경 사항을 관찰할 수 있는 watchdog이라는 널리 사용되는 크로스 플랫폼 라이브러리가 있습니다. 다음을 사용하여 설치할 수 있습니다.

$ pip install watchdog

예시

watchdog을 사용하여 'my_file.txt'라는 파일을 보려면 다음과 같은 간단한 프로그램을 사용할 수 있습니다.

import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
class MyHandler(FileSystemEventHandler):
    def on_modified(self, event):
        print("Got it!")
event_handler = MyHandler()
observer = Observer()
observer.schedule(event_handler, path='.', recursive=False)
observer.start()
try:
    while True:
        time.sleep(1)
except KeyboardInterrupt:
    observer.stop()
observer.join()

이 프로그램을 실행하고 현재 디렉토리의 파일을 변경하면 MyHandler 클래스의 on_modified 함수가 이벤트와 함께 호출됩니다. MyHandler 클래스에서 이벤트를 처리하기 위해 고유한 함수를 정의할 수 있습니다. 경로에서 모니터링하려는 파일/디렉토리를 지정할 수 있습니다. 이 프로그램을 중지하려면 Ctrl + C

를 사용하세요.