파일이 변하였는지 검사하는 방법은 여러가지 있을 수 있습니다. win32 api를 이용한다거나 하는 방법도 생각해볼 수 있는데 여기에서는 쉽게 os에 의존적인 방법을 제외하고 공통적으로 쉽게 사용할 수 있는 폴링 방식을 구현하였습니다.
check_file_mod() 클래스를 만들게 되면 시간 정보를 저장하고 있다가 주기적으로 파일이 변경되었는지 확인 하는 함수 입니다.
변경되었으면 is_change()이 True를 넘겨 줍니다.
import time import os class check_file_mod(object): def __init__(self,want_to_checkfile): self.filename = want_to_checkfile self._cached_stamp = os.stat(self.filename).st_mtime def is_change(self): stamp = os.stat(self.filename).st_mtime if stamp != self._cached_stamp: self._cached_stamp = stamp return True return False if __name__ == '__main__': wa = check_file_mod("_19_check_file_mod.py") while True: if wa.is_change(): print("change") time.sleep(1)
댓글 없음:
댓글 쓰기