안녕하세요.
파이썬으로 일정 시간마다 자동 실행하는 코드에 대해 알아보겠습니다.
schedule 패키지
▣ schedule 모듈이란?
특정한 작업 및 함수 수행을 주기적으로 실행하기 위해 사용하는 모듈
: schedule 패키지 함수 모음
함수 | 단위 | 함수 | 단위 |
seconds | 초 | days | 일 |
minutes | 분 | weeks | 주 |
hour | 시간 | monday 外 6개* | 특정 요일 |
* 특정 요일 설정의 경우, 모두 소문자로 입력해야함.
(monday, tuesday, wednesday, thursday, friday, saturday, sunday)
: 실제 schedule 함수 사용하기
# 관련 패키지 및 모듈 import
import schedule
import time
# 실행할 함수 선언
def printing():
print("..schedule on..")
# 실행 주기 설정
schedule1 = schedule.every(5).seconds.do(printing) # 초
schedule.every(1).minutes.do(printing) # 분
schedule.every(1).hour.do(printing) # 시
schedule.every(3).days.do(printing) # 일
schedule.every(3).weeks.do(printing) # 주
schedule.every(3).day.at.("15:30").do(printing) # 매일 15시 30분에 함수 실행
# 스케줄 시작 - 루프
while True:
# 모든 schedule 기능 실행
schedule.run_pending()
time.sleep(5)
# 모든 스케줄 3번 넘게 시행시 스케줄 종료
count = count + 1
if count > 3:
schedule.cancel_job(schedule1)
- schedule 함수를 중지하고 싶을 때는 schedule 패키지의 cancel_job() 함수를 아래와 같이 사용하면 됨.
import schedule
import time
def message1():
print("스케쥴 실행중...")
def message2(text):
print(text)
# 주기 설정
job1 = schedule.every(1).seconds.do(message1)
job2 = schedule.every(2).seconds.do(message2,'2초마다 알려줄게요')
count = 0
while True:
schedule.run_pending()
time.sleep(1)
count = count + 1
if count > 5:
schedule.cancel_job(job1)
Reference
반응형
'Programming > Python' 카테고리의 다른 글
[Python] 구글 검색 API 활용하기 (4) | 2023.02.12 |
---|---|
[Python] 파일명 일괄 변경하기 (2) | 2022.12.25 |
[Python] 이미지 합치기 (0) | 2022.12.18 |
[Python] 파이썬 이미지 필터 (ImageFilter) (1) | 2022.12.17 |
[Python] 파이썬 사진 사이즈 변경 (resize) (2) | 2022.12.15 |
댓글