파이썬 스크립트로 반복 업무를 자동화하는 데까지는 왔는데, 그 스크립트를 매일 아침 손으로 실행하고 있다면 자동화가 반쪽만 된 상태입니다. 비전공자 파이썬 스크립트 예약 실행은 코드를 완전히 손에서 떼어내는 마지막 단계이고, 다행히 별도 프로그래밍 없이 윈도우 기본 기능만으로 충분히 해결할 수 있습니다.
엑셀 파일을 취합하거나 PDF를 정리하는 스크립트를 만들어 두고도 “오늘도 까먹지 않고 실행해야 하는데”라는 부담이 남아 있다면, 이 글에서 다루는 작업 스케줄러 설정으로 그 부담을 없앨 수 있습니다.
파이썬 스크립트 예약 실행, 어떻게 하나요
윈도우에 기본 내장된 ‘작업 스케줄러’에 파이썬 실행 파일 경로와 스크립트 파일 경로를 등록하면, 정해진 시간에 컴퓨터가 스크립트를 대신 실행해 줍니다. 별도 프로그램 설치나 코드 수정 없이, 마우스 클릭 몇 번으로 설정할 수 있습니다. 아래에서 실제 설정 순서를 하나씩 따라가 보겠습니다.
왜 예약 실행이 필요할까요
자동화 스크립트를 만들었다는 것과 그 스크립트가 실제로 매번 실행된다는 것은 다른 이야기입니다. 사람이 실행 버튼을 누르는 한, 깜빡하거나 자리를 비우거나 컴퓨터를 꺼두는 날에는 자동화가 멈춰버립니다. 특히 매일 아침 특정 폴더의 파일을 취합하거나, 매주 월요일 보고서를 생성하는 작업이라면 실행 시점이 어긋나는 순간 뒤 업무 전체가 지연됩니다.
비전공 사무직을 위한 코딩 입문 로드맵에서 다룬 것처럼, 업무 자동화는 “무엇을 자동화할까”에서 시작해 “그 자동화가 사람 손을 거치지 않고 돌아가는가”로 마무리되어야 완성됩니다. 예약 실행은 그 마지막 고리입니다.
작업 스케줄러 등록, 단계별로 따라 하기
먼저 파이썬이 설치된 경로와 실행할 스크립트 파일 경로를 확인해야 합니다. 명령 프롬프트에서 아래 명령으로 파이썬 경로를 확인할 수 있습니다.
where python
경로를 확인했다면 다음 순서로 진행합니다.
- 윈도우 검색창에 “작업 스케줄러”를 입력해 실행합니다.
- 오른쪽 메뉴에서 “작업 만들기”를 클릭합니다.
- “일반” 탭에서 작업 이름을 입력하고, “사용자가 로그온했는지 여부에 관계없이 실행” 옵션을 선택합니다.
- “트리거” 탭에서 “새로 만들기”를 눌러 매일, 매주 등 원하는 반복 주기와 시작 시간을 설정합니다.
- “동작” 탭에서 “새로 만들기”를 누르고, 프로그램/스크립트 칸에 파이썬 실행 경로(예: C:\Python39\python.exe)를, 인수 추가 칸에 스크립트 파일 경로(예: C:\work\report_auto.py)를 입력합니다.
- “조건” 탭에서 “컴퓨터가 AC 전원에 연결된 경우에만” 옵션을 상황에 맞게 해제합니다.
- 확인을 누르고 계정 암호를 입력하면 등록이 완료됩니다.
등록 후에는 작업을 우클릭해 “실행”을 눌러 정상 동작하는지 바로 테스트해 보는 것이 안전합니다.
실행 결과를 눈으로 확인하는 법
예약 실행의 문제는 스크립트가 실제로 돌았는지, 성공했는지를 사람이 직접 보지 못한다는 점입니다. 이를 보완하려면 스크립트 안에 실행 기록을 남기는 로그 코드를 추가해야 합니다.
import datetime
def log(message):
with open("run_log.txt", "a", encoding="utf-8") as f:
now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
f.write(f"[{now}] {message}\n")
try:
log("작업 시작")
# 실제 자동화 로직
log("작업 완료")
except Exception as e:
log(f"오류 발생: {e}")
이렇게 로그 파일을 남겨두면 예약 실행이 끊겼는지, 중간에 오류가 났는지 나중에라도 확인할 수 있습니다. 스크립트를 오래 운영할 계획이라면 자동화 스크립트, 만들고 나서가 더 중요합니다 - 업무 자동화 로그 작성법에서 로그 관리 방법을 조금 더 자세히 다루고 있으니 함께 참고하시면 좋습니다.

예약 실행 전에 점검해야 할 것들
작업 스케줄러에 등록하기 전에 몇 가지를 미리 확인해 두면 실행 실패를 크게 줄일 수 있습니다.
첫째, 스크립트 안에서 사용하는 파일 경로가 상대 경로라면 절대 경로로 바꿔야 합니다. 작업 스케줄러는 스크립트를 실행할 때 기본 작업 폴더가 다를 수 있어서, 상대 경로로 작성된 코드는 파일을 찾지 못하는 오류가 자주 발생합니다.
둘째, 스크립트가 사용하는 라이브러리(pandas, openpyxl 등)가 예약 실행 계정에서도 접근 가능한 파이썬 환경에 설치되어 있는지 확인해야 합니다. 가상환경을 쓰고 있다면 동작 탭의 프로그램 경로를 가상환경 안의 python.exe로 지정해야 합니다.
셋째, 네트워크 드라이브나 공유 폴더에 접근하는 스크립트라면, 컴퓨터가 로그오프된 상태에서도 해당 드라이브에 연결이 유지되는지 점검해야 합니다. 로그온 여부와 무관하게 실행하도록 설정했더라도 네트워크 인증이 풀리면 스크립트가 실패할 수 있습니다.
엑셀 매크로로도 비슷하게 할 수 있나요
파이썬 없이 엑셀 매크로만 쓰고 있다면 작업 스케줄러로 엑셀 파일을 열고 매크로를 자동 실행하는 방식도 가능합니다. 다만 엑셀은 화면 전환이나 팝업 창에 취약해서, 반복적이고 안정적인 예약 실행에는 파이썬 스크립트 쪽이 더 적합합니다. 엑셀 함수만으로 안 될 때, VBA 매크로부터 배워야 할까요에서 두 방식의 경계를 어떻게 나눠야 하는지 다루고 있으니 참고할 수 있습니다.
정리
파이썬 스크립트를 만들어 반복 업무를 줄였다면, 그 스크립트를 예약 실행으로 넘기는 것이 자동화의 완성입니다. 작업 스케줄러 설정은 코드 한 줄 몰라도 따라 할 수 있는 수준이지만, 경로 문제나 실행 환경 차이로 처음에는 실패하는 경우가 많으니 로그를 남기고 몇 차례 테스트하는 과정을 거치는 것이 안전합니다. 픽셀앤코드는 이런 자동화 스크립트 설계부터 예약 실행 환경 구성, 실무자 교육까지 함께 진행하고 있으며, 사내에서 반복되는 특정 업무를 어디서부터 자동화할지 막막하다면 현재 업무 흐름을 함께 살펴보는 것부터 시작할 수 있습니다.