본문 바로가기
파이썬

파이썬 매일 같은 시간에 작업을 수행하는 Python 스크립트

by º기록 2021. 1. 25.
반응형

매일 아침 01:00에 뭔가를하고 싶은 장기 실행 파이썬 스크립트가 있습니다.


 

해결 방법

 

다음과 같이 할 수 있습니다.

from datetime import datetime
from threading import Timer

x=datetime.today()
y=x.replace(day=x.day+1, hour=1, minute=0, second=0, microsecond=0)
delta_t=y-x

secs=delta_t.seconds+1

def hello_world():
    print "hello world"
    #...

t = Timer(secs, hello_world)
t.start()

다음날 오전 1시에 함수 (예 : hello_world)가 실행됩니다.

수정 :

@PaulMag에서 제안한대로,보다 일반적으로 월말에 도달하여 해당 월의 날짜를 재설정해야하는지 여부를 감지하기 위해이 컨텍스트에서 y의 정의는 다음과 같습니다.

y = x.replace(day=x.day, hour=1, minute=0, second=0, microsecond=0) + timedelta(days=1)

이 수정으로 가져 오기에 timedelta를 추가해야합니다. 다른 코드 라인은 동일하게 유지됩니다. 따라서 total_seconds () 함수를 사용하는 전체 솔루션은 다음과 같습니다.

from datetime import datetime, timedelta
from threading import Timer

x=datetime.today()
y = x.replace(day=x.day, hour=1, minute=0, second=0, microsecond=0) + timedelta(days=1)
delta_t=y-x

secs=delta_t.total_seconds()

def hello_world():
    print "hello world"
    #...

t = Timer(secs, hello_world)
t.start()

 

참조 페이지 https://stackoverflow.com/questions/15088037

 

 

반응형

댓글