이 글에서는 파이썬(Python)을 활용해 생일 알림 애플리케이션을 만드는 방법을 단계별로 살펴봅니다.
문제 정의
파이썬으로 오늘 날짜에 해당하는 생일이 있는지 자동으로 확인하고, 생일인 사람이 있다면 그 사람의 이름과 함께 시스템 알림(notification)을 보내는 애플리케이션을 만들어 보겠습니다.
이를 위해서는 날짜·월·사람 이름을 저장해 둘 조회용 파일(lookup file)이 필요합니다. 파일 형식은 다음과 같습니다.
또한 이 애플리케이션을 시작 프로그램(startup application)으로 등록하면, 시스템이 부팅될 때마다 자동으로 실행되어 매일 아침 오늘의 생일자를 알려줄 수 있습니다.
애플리케이션 구현 절차
- 조회용 파일을 열어 내용을 읽어 들입니다.
- 파일에 기록된 날짜와 월이 오늘 날짜와 일치하는지 확인합니다.
- 오늘이 생일인 모든 사람의 이름을 담아 시스템에 알림을 전송합니다.
- 종료합니다.
예제 코드
import os, time
# 홈 디렉터리에서 생일 조회 파일 경로 가져오기
file_path = os.getenv('HOME') + '/birth_day_lookup.txt'
def check_birthday():
lookup_file = open(file_path, 'r') # 조회 파일을 읽기 모드로 열기
today = time.strftime('%d-%B') # 오늘 날짜를 dd-Month 형식으로 가져오기
bday_flag = 0
# 생일 파일의 각 항목을 순회하며 오늘 날짜가 있는지 확인
for entry in lookup_file:
if today in entry:
line = entry.split(' ') # 공백 기준으로 잘라 이름과 성을 추출
bday_flag = 1
os.system('notify-send "Today is '+line[1]+' '+line[2]+'\'s Birthday"')
if bday_flag == 0:
os.system('notify-send "No birthday for today is listed"')
check_birthday()
실행 결과
시작 프로그램으로 등록하는 방법
1단계 − chmod 명령어로 스크립트 파일을 실행 가능한 파일로 변환합니다.
sudo chmod +x file_name.py
2단계 − 스크립트 파일을 /usr/bin 디렉터리로 이동시킵니다.
sudo cp file_name.py /usr/bin
3단계 − 시스템에서 'Startup Applications'(시작 응용 프로그램)를 검색하여 실행합니다.
애플리케이션을 연 후 'Add(추가)' 버튼을 클릭하고, 원하는 이름을 입력한 뒤 명령어(command) 필드에 프로그램 이름을 지정합니다. 그리고 시작 프로그램으로 추가하면 설정이 완료됩니다.
이렇게 하면 컴퓨터를 켤 때마다 스크립트가 자동으로 실행되어, 소중한 사람의 생일을 놓치지 않고 알려주는 편리한 생일 알림 시스템을 완성할 수 있습니다.