- 3
- 이니스프리
- 조회 수 2524
저번에 오토핫키로 작성한 스크립트를 파이썬으로 다시 작성해보네요~!
(1) time.sleep을 사용하면 조금씩 딜레이가 발생하게 되고
(2) 상대적으로 pause를 사용하면 시스템 리소스를 절약할 수 있기 때문에
아래와 같은 방법으로 작성했어요 ^-^
from datetime import datetime, timedelta import pause, sys def repeat(): option = sys.argv[1] if len(sys.argv) >= 2 else 'x' while True: d = datetime.now() if d.hour > 19: # 20시가 되면 스크립트를 중지합니다. break if option == '-h': # -h 옵션을 넣은 경우에 매시간 정각 1초를 계산합니다. t = d + timedelta(hours = 1) mt, da, hr, mn = t.month, t.day, t.hour, t.minute pause.until(datetime(2020, mt, da, hr, 0, 1)) else: # 그렇지 않은 경우에 매분 정각 1초를 계산합니다. t = d + timedelta(minutes = 1) mt, da, hr, mn = t.month, t.day, t.hour, t.minute pause.until(datetime(2020, mt, da, hr, mn, 1)) return