Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬(Python)으로 구현하는 Windows 10 토스트 알림

개요

파이썬(Python)을 활용하면 Windows에서 발생하는 다양한 이벤트에 대한 알림(Notifier) 기능을 손쉽게 구현할 수 있습니다. 이때 유용하게 사용되는 것이 바로 win10toast 모듈입니다. 안드로이드(Android)에서 제공하는 토스트(Toast) 메시지를 접해본 분이라면 파이썬으로 만드는 토스트 알림 역시 어렵지 않게 이해할 수 있을 것입니다.

특정 이벤트가 발생할 때마다 알림을 띄워 사용자에게 상황을 전달할 수 있어, 작업 완료 알림이나 시스템 모니터링 등 다양한 용도로 활용 가능합니다. 지금부터 그 방법을 살펴보겠습니다.

win10toast 모듈 설치하기

먼저 명령 프롬프트(Command Line)에서 아래 명령어를 실행하여 win10toast 모듈을 설치합니다.

pip install win10toast

모듈이 정상적으로 설치되면 명령어 실행 후 다음과 같은 결과를 확인할 수 있습니다.

Collecting win10toast
Downloading https://files.pythonhosted.org/packages/d4/ba/95c0ea87d9bcad68b90d8cb130a313b939c88d8338a2fed7c11eaee972fe/win10toast-0.9-py2.py3-none-any.whl
Collecting pypiwin32 (from win10toast)
Downloading https://files.pythonhosted.org/packages/d0/1b/2f292bbd742e369a100c91faa0483172cd91a1a422a6692055ac920946c5/pypiwin32-223-py3-none-any.whl
Requirement already satisfied: setuptools in c:\users\hafeezulkareem\anaconda3\lib\site-packages (from win10toast) (40.8.0)
Requirement already satisfied: pywin32>=223 in c:\users\hafeezulkareem\anaconda3\lib\site-packages (from pypiwin32->win10toast) (223)
Installing collected packages: pypiwin32, win10toast
Successfully installed pypiwin32-223 win10toast-0.9

토스트 알림 생성 단계

토스트 알림을 만드는 과정은 크게 네 가지 단계로 정리할 수 있습니다.

  • win10toast 패키지에서 ToastNotifier 클래스를 임포트(import)합니다.

  • 해당 클래스의 인스턴스를 생성합니다.

  • show_toast('제목', '메시지', duration = 지속_시간_초, icon_path = '.ico 파일 경로') 메서드를 원하는 인자와 함께 호출합니다.

  • 알림 지속 시간이 끝난 후 성공적으로 처리되었다면 True가 반환됩니다.

예제 코드

간단한 예제를 통해 직접 확인해 보겠습니다.

## 간단한 토스트 알림을 생성하는 프로그램
from win10toast import ToastNotifier
## 클래스 인스턴스 생성
notifier = ToastNotifier()
## 필요한 인자와 함께 show_toast() 메서드 호출
notifier.show_toast("Sample Notification", "You are learning at Tutorialspoint", duration = 25, icon_path = "globe.ico")

위 코드를 실행하면 화면 우측 하단에 다음과 같은 토스트 알림이 나타나는 것을 확인할 수 있습니다.

파이썬(Python)으로 구현하는 Windows 10 토스트 알림

마무리

이렇게 만든 알림 프로그램은 시스템에서 특정 이벤트가 발생할 때 자동으로 호출되도록 연동할 수 있습니다. 예를 들어 파일 다운로드 완료, 작업 스케줄 종료, 에러 감지 등 다양한 상황에서 유용하게 사용할 수 있습니다. 튜토리얼과 관련하여 궁금한 점이 있다면 댓글로 남겨주세요.