25. Python schedule로 정기 작업 자동화하기

이미지
저도 처음에는 정기적인 데이터 수집이나 보고서 발송 프로그램을 정해진 시간마다 실행하기 위해, 매번 시계를 보며 직접 버튼을 누르거나 운영체제의 작업 스케줄러를 뒤적거리곤 했습니다. 하지만 컴퓨터를 바꾸거나 리눅스 서버로 환경이 바뀔 때마다 복잡한 스케줄러 설정을 매번 처음부터 다시 세팅하느라 1~2시간씩 허비 하기 일쑤였죠. 배보다 배꼽이 더 크다는 생각이 들던 차에 파이썬의 schedule 라이브러리를 만났습니다. 윈도우든 맥이든 상관없이 단 3줄의 코드로 "10분마다", "매일 오전 9시에" 같은 예약 기능을 완벽하게 제어 할 수 있게 되었는데요. 외부 프로그램 도움 없이 VS Code 안에서 개발부터 예약 실행까지 통째로 관리하니 자동화 프로젝트 구축 속도가 몇 배는 빨라졌습니다. 이번 글에서는 schedule 라이브러리의 기본 개념부터 설치 방법, 실전 활용 사례까지 초보자도 쉽게 따라 할 수 있도록 자세히 알아보겠습니다 Python schedule은 python 환경에서 특정 작업을 정해진 시간마다 자동으로 실행할 수 있도록 도와주는 라이브러리입니다. 많은 개발자들이 vscode 에서 프로그램을 개발하면서 "매일 오전 9시에 실행", "10분마다 데이터 수집", "매주 월요일 보고서 생성"과 같은 기능을 구현하려고 합니다. 이때 운영체제의 작업 스케줄러를 사용하는 방법도 있지만, Python 코드 안에서 간단하게 스케줄링을 처리하고 싶다면 schedule 라이브러리가 매우 좋은 선택입니다. 복잡한 설정 없이 몇 줄의 코드만으로 자동 실행 기능을 만들 수 있어 입문자부터 실무 개발자까지 폭넓게 활용하고 있습니다. Python schedule이란 무엇인가 schedule은 특정 함수를 원하는 시간이나 주기에 맞춰 실행하도록 예약하는 라이브러리입니다. 예를 들어 다음과 같은 작업을 자동화할 수 있습니다. 5분마다 주식 데이터 수집 1시간마다 서버...

24. Python watchdog으로 파일 변경 자동 감지하기

이미지
저도 처음에는 코드를 수정하거나 파일이 바뀔 때마다 매번 터미널을 켜서 프로그램을 다시 실행하고 새로고침을 누르느라 바빴습니다. 처음엔 별거 아닌 것 같아도, 프로젝트 규모가 커질수록 하루에만 수십, 수백 번씩 이 단순 반복을 하느라 아까운 집중력과 시간을 통째로 낭비 하곤 했죠. 그러다 파이썬의 watchdog 라이브러리를 알게 되었는데요. 코드를 수정하고 저장( Ctrl + S )하는 단 1초 만에, 변경 사항을 알아서 감지하고 테스트나 후처리 작업을 자동으로 실행해 주는 신세계 를 경험했습니다. 특히 VS Code에서 저장만 하면 화면이 즉시 갱신되니 이제는 없어서는 안 될 필수 도구가 되었습니다. 이번 글에서는 watchdog 의 기본 개념부터 설치, 실전 활용 예제까지 초보자도 쉽게 따라 할 수 있도록 차근차근 살펴보겠습니다. Python watchdog은 python 환경에서 파일이나 폴더의 변경 사항을 실시간으로 감지할 수 있는 대표적인 라이브러리입니다. 특히 vscode 에서 프로그램을 개발하다 보면 파일을 저장할 때마다 자동으로 작업을 실행하고 싶은 경우가 자주 발생합니다. 로그 자동 생성, 이미지 변환, 데이터 처리, 테스트 실행 등 다양한 자동화 작업을 손쉽게 구현할 수 있어 생산성을 크게 높여줍니다. Python watchdog이란 무엇인가 Python watchdog은 운영체제의 파일 시스템 이벤트를 감지하여 원하는 작업을 자동으로 수행하도록 만들어 주는 라이브러리입니다. 예를 들어 다음과 같은 상황에서 매우 유용합니다. 파일이 생성되면 자동 백업 이미지가 저장되면 자동 리사이즈 CSV 파일이 변경되면 자동 분석 로그 파일 생성 시 자동 알림 프로젝트 파일 저장 시 테스트 자동 실행 마치 우편함 앞에서 하루 종일 기다리지 않아도 택배가 도착하면 초인종이 울리는 것과 비슷합니다. 프로그램이 계속 폴더를 확인하는 것이 아니라 운영체제가 이벤트를 알려주므로 훨씬 효율적입니다. 또 다른 비유를 하자면 자동문과 같습니...

23.Python pathlib 사용법 | 파일 경로를 더 쉽고 안전하게 다루는 방법

이미지
Python pathlib 은 파일저도 처음에는 파일 경로를 문자열 더하기( + )나 f-string으로 대충 이어 붙여 사용했습니다. 내 윈도우 컴퓨터에서는 완벽하게 잘 실행되던 코드가, 다른 팀원의 맥(Mac)이나 리눅스 서버로 옮겨가기만 하면 귀신같이 경로 에러를 뿜어내며 터지곤 했죠. 슬래시('/')와 역슬래시('') 하나 때문에 밤새 코드를 뒤적거리며 3시간씩 원인을 찾느라 진을 빼곤 했습니다. 그러다 pathlib 을 배우고 나서는 운영체제에 상관없이 경로를 훨씬 직관적이고 안전하게 관리할 수 있게 되었습니다. 지금은 새로운 파이썬 프로젝트를 시작할 때 0순위로 pathlib 부터 불러오는 아주 좋은 습관이 생겼습니다. 과 폴더 경로를 객체처럼 다룰 수 있도록 만들어진 표준 라이브러리입니다. 과거에는 os.path 를 주로 사용했지만, 현재는 pathlib 이 더 직관적이고 가독성이 뛰어나 많은 개발자가 기본적으로 사용하는 방식입니다. 특히 python 프로젝트를 vscode 에서 개발한다면 pathlib 을 활용하면 운영체제에 관계없이 동일한 코드로 파일을 관리할 수 있습니다. Python pathlib란 무엇인가? pathlib를 사용하는 이유 pathlib 은 파일 경로를 문자열이 아닌 객체(Object)로 다룰 수 있도록 설계되었습니다. 예를 들어 Windows에서는 \ 를 사용하고 Linux나 macOS에서는 / 를 사용합니다. 문자열을 직접 이어 붙이면 운영체제마다 문제가 발생할 수 있지만 pathlib 은 이러한 차이를 자동으로 처리합니다. 마치 내비게이션이 목적지만 입력하면 가장 적절한 길을 찾아주는 것처럼, pathlib 도 운영체제에 맞는 경로를 알아서 만들어 줍니다. 또 다른 비유를 하자면, 주소를 손으로 직접 적는 것보다 주소록에서 선택하는 것이 훨씬 안전한 것과 같은 원리입니다. pathlib의 장점 Python 표준 라이브러리이므로 별도 설치가 필요 없습니다. Window...

22.Python requests 완벽 가이드 — VS Code에서 HTTP 요청 보내기부터 API 활용까지

이미지
저도 처음에는 필요한 정보를 얻기 위해 웹사이트를 이리저리 드나들며 마우스로 직접 긁어다 엑셀에 붙여넣곤 했습니다. 수작업으로 수십 페이지를 복사하다 보면 손목도 아프고 시간도 금방 지나갔죠. 하지만 파이썬의 requests 라이브러리를 알게 된 후로는 웹 데이터를 가져오거나 API를 호출하는 모든 과정이 자동화되었습니다. 예전에는 한 시간씩 걸리던 단순 반복 작업이, 이제는 코드 실행 한 번으로 단 1초 만에 끝나면서 업무 효율이 몰라보게 달라졌습니다 Python requests는 VS Code 환경에서 웹 서버와 데이터를 주고받을 때 가장 많이 사용하는 라이브러리 입니다. 웹 크롤링, REST API 호출, 자동 로그인, 파일 다운로드 등 다양한 자동화 프로젝트의 시작점이라고 할 수 있습니다. 이번 글에서는 requests 라이브러리의 개념부터 설치 방법, GET과 POST 요청, JSON 데이터 처리, 파일 다운로드, 오류 처리까지 초보자도 쉽게 이해할 수 있도록 단계적으로 설명하겠습니다. Python requests란 무엇인가 requests 라이브러리의 역할 Python requests는 인터넷을 통해 다른 서버와 데이터를 주고받을 수 있도록 도와주는 라이브러리입니다. 쉽게 비유하면 requests는 인터넷 세상의 택배 기사 와 같습니다. 내가 원하는 주소(API)에 요청을 보내면 필요한 데이터를 받아 다시 나에게 전달해 줍니다. 또 다른 비유를 하자면, 웹 브라우저가 식당에서 메뉴를 주문하는 손님이라면 requests는 주문을 대신 전달하고 음식을 가져오는 직원과 같습니다. 웹사이트를 직접 열지 않아도 프로그램이 대신 요청을 보내고 결과를 받아올 수 있다는 점이 가장 큰 장점입니다. 대표적인 활용 분야는 다음과 같습니다. REST API 호출 웹 크롤링 챗봇 개발 자동 로그인 파일 다운로드 날씨, 환율, 주식 정보 조회 VS Code에서 Python requests 설치하기 requests 설치 VS Cod...

21.Python logging — print() 대신 로그를 남겨야 하는 이유와 사용법

이미지
 저도 처음엔 디버깅할 때마다 코드 여기저기에 print('여기까지 옴') , print(data) 같은 코드를 수십 개씩 집어넣곤 했습니다. 에러를 잡고 나면 다시 코드를 뒤져가며 일일이 지워야 했는데요. 어느 날 미처 지우지 못한 print('여기가 터졌네 시X') 같은 부끄러운 개발용 낙서가 실제 서비스 서버 로그에 그대로 찍혀 상사에게 호출 당하는 낭패를 겪었습니다. 그때 비로소 logging 라이브러리를 배웠고, 코드 수정 없이 출력 레벨(Level)만 변경해 로그를 제어하는 신세계 를 맛보았습니다. Python 으로 프로그램을 만들다 보면 누구나 print() 함수로 값을 확인하며 디버깅한 경험이 있을 것입니다. vscode 에서 코드를 실행할 때마다 터미널에 출력되는 그 익숙한 문장 말입니다. 하지만 프로그램이 커지고 운영 단계에 들어서면 print() 만으로는 한계에 부딪힙니다. 이 글에서는 Python 의 표준 logging 모듈이 무엇인지부터, 로그 레벨 설정, 파일 저장, 그리고 실전 프로젝트에 적용하는 방법까지 단계별로 안내해 드리겠습니다. print() 대신 logging을 써야 하는 이유 일기장과 액자의 차이 print() 는 화면에 즉시 출력되고 사라지는 일회용 메모 와 같습니다. 프로그램을 끄는 순간 그 내용은 영영 사라집니다. 반면 logging 은 날짜와 시간이 자동으로 기록되는 일기장 입니다. 언제 무슨 일이 있었는지, 그 일이 단순한 정보였는지 심각한 문제였는지까지 구분해서 차곡차곡 쌓아둡니다. 새벽 3시에 서버에서 오류가 발생했다고 가정해 보겠습니다. print() 만 사용했다면 그 순간 화면을 보고 있지 않은 이상 어떤 문제가 있었는지 알 방법이 없습니다. 하지만 logging 으로 파일에 기록을 남겨두었다면, 다음 날 아침 로그 파일을 열어 정확히 몇 시 몇 분에 어떤 오류가 발생했는지 확인할 수 있습니다. print()의 세 가지 명확한 한계 레벨 구분이 불가능합니다...

20. VS Code에서 Python으로 블로그 글 자동 생성하기

이미지
 저도 처음엔 직장을 다니며 블로그 1일 1포스팅을 하겠다는 욕심에 퇴근 후 매일 2~3시간씩 모니터 씨름을 했습니다. 피곤한 날엔 글감이 안 떠올라 한 줄도 못 쓰고 밤을 새우기 일쑤였죠. 안 되겠다 싶어 파이썬과 ChatGPT API를 연동해 핵심 키워드만 넣으면 3초 만에 뼈대와 초안을 뽑아주는 프로그램을 만들었습니다. 매일 2시간씩 걸리던 글쓰기 지옥에서 벗어나, 지금은 10분 만에 나온 초안에 제 생각과 사진만 슥 얹어서 30분 만에 고품질의 포스팅을 완성하고 있습니다. 이 글에서는 제목 하나를 입력하면 SEO 최적화된 마크다운 블로그 글 초안이 자동으로 생성되어 파일로 저장되는 시스템을 — Gemini API와 Python을 활용해 VS Code에서 처음부터 완성까지 구축해 드리겠습니다. 블로그 글 자동 생성이 필요한 이유 — 편집자 vs 작가의 역할 분리 글을 잘 쓰는 것과 글을 빠르게 생산하는 것은 다른 능력입니다. 블로그를 꾸준히 운영하려면 두 가지가 모두 필요한데, 대부분의 사람은 아이디어는 있지만 매번 초안을 만드는 과정에서 시간을 소진합니다. AI를 활용한 글 자동 생성은 이 역할을 분리합니다. AI가 작가(초안 작성)를 맡고, 사람이 편집자(검수·보완·경험담 추가)를 맡는 구조 입니다. 빈 페이지를 채우는 심리적 부담이 사라지고, 사람은 오직 품질을 높이는 작업에만 집중할 수 있습니다. 이 시스템으로 할 수 있는 것 제목 입력 → 마크다운 초안 자동 생성 → 파일 저장 전 과정 자동화 여러 제목을 한 번에 배치 처리 — 10개 제목을 넣으면 10개 파일이 한 번에 생성 프롬프트 커스터마이징 — 말투, 구조, 길이, 키워드를 조건으로 설정 생성 이력 관리 — 언제 어떤 제목으로 글을 생성했는지 CSV로 자동 기록 사전 준비 — Gemini API 키 발급하기 Google의 Gemini API는 무료 티어를 제공합니다. 분당 15회, 하루 1,500회 요청이 무료로 제공되어 블로그 초안 생성 용도로는...

19. VS Code에서 Python으로 코인 알림 봇 만들기 — 텔레그램 실시간 가격 알림 완벽 가이드

이미지
저도 처음에는 테슬라나 비트코인 변동성을 잡겠다고 새벽 2시, 4시마다 알람을 맞춰두고 깨서 거래소 앱을 확인하곤 했습니다. 하루에 앱을 열어본 횟수만 50번이 넘었고, 수면 부족으로 일상생활까지 망가지기 일쑤였죠. 참다못해 파이썬으로 텔레그램 알림 봇을 만들어 '5% 급등락 시에만 사이렌 알림'을 걸어둔 뒤로는, 밤새 차트를 보며 낭비하던 6시간의 수면을 되찾았고 뇌동매매 대신 차분하고 냉정하게 대응할 수 있게 되었습니다 이 글에서는 업비트 공개 API로 코인 실시간 가격을 수집하고, 조건(급등·급락·목표가 도달)이 충족될 때 텔레그램으로 즉시 알림을 발송하는 봇을 — VS Code에서 처음부터 완성까지 단계별로 구축해 드리겠습니다. 코인 알림 봇이 필요한 이유 — 감시하는 사람에서 알림받는 사람으로 24시간 쉬지 않고 움직이는 암호화폐 시장에서 사람이 직접 가격을 모니터링하는 것은 사실상 불가능합니다. 주식은 장이 열리는 시간이 정해져 있지만, 코인은 새벽 3시에도 30%가 움직입니다. 알림 봇은 잠들지 않는 보조 모니터 입니다. 사람 대신 24시간 가격을 감시하다가, 설정한 조건이 딱 맞아떨어지는 순간에만 스마트폰을 울립니다. 매일 거래소 앱을 열어 확인하던 습관에서 벗어나, 알림이 왔을 때만 화면을 보는 방식으로 전환할 수 있습니다. 이 봇으로 할 수 있는 것 목표가 도달 알림 — "비트코인이 1억 원을 돌파하면 알려줘" 급등·급락 감지 — "5분 안에 3% 이상 변동이 생기면 알려줘" 거래량 급증 감지 — "평소보다 거래량이 5배 이상 터지면 알려줘" 정기 가격 리포트 — "매일 오전 9시에 주요 코인 가격 요약을 보내줘" 사전 준비 — 텔레그램 봇 생성하기 알림을 받을 텔레그램 봇을 먼저 만들어야 합니다. 코딩 없이 텔레그램 앱 안에서 5분이면 완료됩니다. 봇 생성 순서 텔레그램 앱에서 @BotFather 를 검색해 대화를 시작합니다. /ne...