답변 2개
채택된 답변
+20 포인트
4년 전
안녕하세요? ^-^
질문하신 취지가 crontab이나 task scheduler를 사용할 수 없는 환경에서
매일 정확한 시간에 반복하여 Python 스크립트를 실행하고자 한다는 말씀이신가요??
우선 Python에서 특정 시간까지 대기하는 방법은 다음과 같이 pause 모듈을 사용하면 간단합니다 :)
</p>
<p><code>import</code> <code>pause, datetime</code></p>
<p> </p>
<p><code>pause.until(datetime.datetime(</code><code>2021</code><code>, 7</code><code>, 2</code><code>, </code><code>22</code><code>, </code><code>30</code><code>, </code><code>15)) # 2021년 7월 2일 22시 30분 15초까지 대기합니다.</code></p>
<p>
만약 매일 1시 0분 0초에 특정 스크립트를 실행해야 된다면 다음과 같이 작성할 수 있습니다.
</p>
<p>from datetime import datetime
import pause, time</p>
<p> </p>
<p>while True:</p>
<p> t = datetime.now()
yr, mt, da, hr, mn = t.year, t.month, t.day, t.hour, t.minute
pause.until(datetime(yr, mt, da, 1, 0, 0)) # 1시 0분 0초까지 대기합니다.</p>
<p> ## 실행할 스크립트 ##</p>
<p> time.sleep(86000) # 적당한 시간 간격을 입력하여 하루에 두 번 이상 반복되지 않도록 합니다.</p>
<p>
pause() vs time.sleep()의 차이에 대해서는 PyPI의 pause 문서를 확인하시면 됩니다 :)
https://pypi.org/project/pause/
그럼 문제 해결에 조금이나마 도움이 되셨기를 바랍니다~
좋은 주말 되세요! ^^
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인