안녕하세요? 이번 글은 정해진 시간에 파이썬(Python) 스크립트를 자동 실행하는, 작업 예약용 라이브러리 'schedule'을 학습해 보겠습니다.
schedule 라이브러리는 pip(Package Installer for Python)을 통해 설치하실 수 있습니다.
!pip install schedule
아래와 같이 사용법은 사용자에게 직관적입니다.
import schedule
import time
def job():
print("자연, 우리의 미래...")
schedule.every(3).seconds.do(job) # 3초마다 job 실행
schedule.every(3).minutes.do(job) # 3분마다 job 실행
schedule.every(3).hours.do(job) # 3시간마다 job 실행
schedule.every(3).days.do(job) # 3일마다 job 실행
schedule.every(3).weeks.do(job) # 3주마다 job 실행
schedule.every().minute.at(":23").do(job) # 매분 23초에 job 실행
schedule.every().hour.at(":42").do(job) # 매시간 42분에 작업 실행
# 5시간 20분 30초마다 작업 실행
schedule.every(5).hours.at("20:30").do(job)
# 매일 특정 HH:MM 및 다음 HH:MM:SS에 작업 실행
schedule.every().day.at("10:30").do(job)
schedule.every().day.at("10:30:42").do(job)
# 주중 특정일에 작업 실행
schedule.every().monday.do(job)
schedule.every().wednesday.at("13:15").do(job)
while True:
schedule.run_pending()
time.sleep(1)
자, 이제 테스트해볼까요?! Google 뉴스에서 'national park' 검색결과 창이 뜨도록 코드를 작성해 봅니다.
import webbrowser
url= "https://www.google.co.kr/search?q=national+park&source=lnms&tbm=nws"
webbrowser.open(url) # Google 뉴스에서 'national park' 검색결과
위 코드를 job 함수에 넣고 작업 예약은 매일 17:00로 하겠습니다.
import schedule
import time
import webbrowser
def job():
url= "https://www.google.co.kr/search?q=national+park&source=lnms&tbm=nws"
webbrowser.open(url) # Google 뉴스에서 'national park' 검색결과
# 매일 특정 HH:MM 및 다음 HH:MM:SS에 작업 실행
schedule.every().day.at("17:00").do(job)
while True:
schedule.run_pending()
time.sleep(1)
해당 스크립트는 매일 17:00마다 웹 브라우저를 자동 실행시켜 'national park' 검색 결과를 보여줄 것입니다. 간단하죠?!
아래 글 내용을 참고하여 단일 패키지(.exe)로 생성해 보겠습니다.
import os
os.chdir('D:\\GEODATA') # 디렉터리 변경
!pyinstaller --noconsole --onefile --icon=Iron_Man_icon-icons.com_54170.ico Stark.py
Stark.exe 파일이 실행되었습니다.
시작 프로그램에 추가해 봅니다. 아래 위치에 .exe 파일을 이동시킵니다.
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
자, 이제 내 시작 프로그램에 'Stark.exe' 파일이 추가되었습니다. 매일 17:00마다 'national park' 뉴스를 볼 수 있습니다.