파일 이름 일괄 변경 파이썬 스크립트 — 미리보기·되돌리기까지, 1,000개 0.97초 (실측)

파일 이름 일괄 변경 파이썬 스크립트 — 미리보기·되돌리기까지, 1,000개 0.97초 (실측)

사진 수백 장을 여행_001.jpg처럼 번호로 정리하거나, 다운로드할 때 붙은 보고서 (1).docx의 ” (1)”을 한꺼번에 지우고 싶을 때가 있습니다. 파일 이름 일괄 변경은 파이썬 몇 줄이면 되지만, 몇 줄짜리로 바로 실행하면 번호가 뒤섞이거나 중간에 멈춰 폴더가 반쯤 바뀐 상태로 남습니다. 직접 단순한 버전부터 돌려 보니 IMG_10.JPG가 여행_002.jpg가 됐고, ” (1)” 지우기와 번호 밀기는 둘 다 FileExistsError로 … 더 읽기

파이썬 메모리 사용량 줄이기 — 큰 파일 한 번에 읽지 않는 법, 512MB CSV로 방식별 실측

파이썬 메모리 사용량 줄이기 — 큰 파일 한 번에 읽지 않는 법, 512MB CSV로 방식별 실측

로그나 CSV가 커지면 잘 돌던 스크립트가 어느 날 MemoryError를 내거나, 작업 관리자에서 파이썬 하나가 몇 GB를 잡고 PC 전체가 느려집니다. 원인은 대부분 코드 한 줄, 파일을 “한 번에” 읽는 습관입니다. 이 글에서는 파이썬 메모리 사용량 줄이기를 주제로, 같은 512MB CSV(1,500만 행)를 일곱 가지 방식으로 읽어 같은 집계를 내고 최대 메모리를 직접 재 봤습니다. 이 노트북(윈도우 … 더 읽기

AI 코드 검증 — AI가 짠 파이썬 코드, 실행 전에 위험한 줄 자동 점검하기 (실측)

AI 코드 검증 — AI가 짠 파이썬 코드, 실행 전에 위험한 줄 자동 점검하기 (실측)

ChatGPT나 Claude에게 “다운로드 폴더 정리 스크립트 짜 줘”라고 하면 몇 초 만에 그럴듯한 코드가 나옵니다. 문제는 그 코드를 끝까지 읽지 않고 바로 실행하는 습관입니다. 수십 줄 중 한 줄에 shutil.rmtree나 shell=True가 숨어 있으면, 실행하고 나서야 알게 됩니다. 이 글에서는 AI 코드 검증의 첫 단계로, 코드를 실행하지 않고 위험한 줄만 골라 줄 번호와 함께 알려 주는 … 더 읽기

argparse 사용법 — 파이썬 스크립트에 명령줄 옵션 붙이기, 직접 걸려 본 함정 4가지 (실측)

argparse 사용법 — 파이썬 스크립트에 명령줄 옵션 붙이기, 직접 걸려 본 함정 4가지 (실측)

처음 만든 스크립트는 보통 sys.argv[1]로 값을 받습니다. 혼자 쓸 때는 괜찮지만, 며칠 지나 다시 실행하거나 다른 사람에게 넘기면 “인자 순서가 뭐였더라”부터 막힙니다. 이 글에서는 파이썬 표준 라이브러리인 argparse 사용법을 오래된 파일을 보관 폴더로 옮기는 실용 스크립트에 붙여 보며 정리합니다. 이 노트북(윈도우 11, Python 3.12.10)에서 직접 돌려 보니, 기본값 그대로 둔 argparse가 –move가 아니라 –mov라고만 쳐도 … 더 읽기

CSV 데이터로 매일 요약 리포트(HTML) 자동 만들기 — 105만 행 2.8초, 표준 라이브러리만 (실측)

CSV 데이터로 매일 요약 리포트(HTML) 자동 만들기 — 105만 행 2.8초, 표준 라이브러리만 (실측)

매일 쌓이는 주문·방문·로그 CSV를 엑셀로 열어 합계를 내고, 전날과 비교하고, 표를 정리해 공유하는 일은 하루 10분이어도 한 달이면 다섯 시간이 넘습니다. 이 글에서는 CSV 리포트 자동 생성을 파이썬 표준 라이브러리만으로 만들어 봅니다. 결과물은 브라우저로 바로 열리는 HTML 파일 하나이고, 매출 합계·전일 대비·최근 7일 평균 대비·분류별 비중·상품 TOP 5·시간대별 막대그래프가 들어갑니다. 이 노트북(윈도우 11, Python 3.12.10)에서 … 더 읽기

파이썬 requests가 응답 없이 멈출 때 — timeout·재시도 실측

파이썬 requests가 응답 없이 멈출 때 — timeout·재시도 실측

파이썬으로 API를 부르거나 웹페이지를 가져오는 스크립트가 아무 오류 없이 멈춰 있는 경우가 있습니다. 대부분 requests timeout을 지정하지 않았거나, 지정했더라도 그 의미를 잘못 알고 있어서 생깁니다. 이 노트북(윈도우 11, Python 3.12, requests 2.34.2, urllib3 2.7.0)에 일부러 느리게 응답하는 테스트 서버를 띄워 놓고 직접 재 봤습니다. 가장 의외였던 결과는 timeout=5를 줬는데도 요청이 19.01초 동안 끝나지 않은 것이었습니다. … 더 읽기

이미지 webp 일괄 변환 — 블로그 이미지 48MB를 3.5MB로 줄인 파이썬 스크립트 (실측)

이미지 webp 일괄 변환 — 블로그 이미지 48MB를 3.5MB로 줄인 파이썬 스크립트 (실측)

블로그에 올리는 이미지는 생각보다 무겁습니다. 이 블로그의 대표이미지 59장(1200×675 PNG)만 해도 합쳐서 20.3MB였고, 한 장에 1MB 가까운 것도 있었습니다. 페이지가 무거우면 모바일에서 늦게 뜨고, 이미지가 쌓일수록 호스팅 용량도 줄어듭니다. 그래서 이미지 webp 일괄 변환 스크립트를 파이썬으로 만들어 이 노트북(윈도우 11, Python 3.12, Pillow 12.3)에서 직접 돌려 봤습니다. 대표이미지 59장과 윈도우 기본 배경화면 사진 36장, 합계 … 더 읽기

git 커밋 파일 삭제 —실수로 올린 큰 파일·비밀키를 히스토리에서 완전히 지우기 (실측)

git 커밋 파일 삭제 —실수로 올린 큰 파일·비밀키를 히스토리에서 완전히 지우기 (실측)

백업 압축 파일이나 API 키가 든 설정 파일을 깃에 같이 올렸다는 걸 뒤늦게 알면, 보통 git rm으로 지우고 커밋합니다. 그런데 git 커밋 파일 삭제는 그렇게 끝나지 않습니다. 이 노트북(윈도우 11, git 2.55)에서 50MB 파일과 가짜 비밀키를 커밋했다가 git rm으로 지우는 상황을 그대로 재현해 봤더니, 파일은 목록에서 사라졌지만 .git 폴더는 여전히 50.0MB였고, 원격에서 새로 clone한 사람도 … 더 읽기

웹페이지 표 엑셀 저장 — pandas 없이 파이썬으로 웹 표를 엑셀 파일에 바로 담기 (실측)

웹페이지 표 엑셀 저장 — pandas 없이 파이썬으로 웹 표를 엑셀 파일에 바로 담기 (실측)

통계나 가격표처럼 웹페이지에 있는 표를 엑셀로 옮길 때, 마우스로 드래그해 붙여넣으면 병합된 칸이 어긋나고 “51,780,579” 같은 숫자가 글자로 들어가 합계가 안 되는 경우가 많습니다. 그래서 웹 표를 엑셀로 저장하는 파이썬 스크립트를 이 노트북(윈도우 11, 파이썬 3.12)에서 직접 만들어 돌려봤습니다. 흔히 쓰는 방법은 pandas의 read_html() 한 줄이지만, 이 노트북에서는 pandas를 설치하자마자 “애플리케이션 제어 정책에서 이 파일을 … 더 읽기

파일 인코딩 일괄 변환 — 한글 텍스트 파일을 한 번에 UTF-8로 바꾸기 (파이썬 실측)

파일 인코딩 일괄 변환 — 한글 텍스트 파일을 한 번에 UTF-8로 바꾸기 (파이썬 실측)

예전 윈도우 프로그램이 저장한 CSV나 메모장 파일은 CP949(ANSI)로, 요즘 도구가 만든 파일은 UTF-8로 저장돼 한 폴더 안에 인코딩이 섞이는 일이 흔합니다. 그래서 파일 인코딩 일괄 변환 스크립트를 파이썬 표준 라이브러리만으로 만들어 이 노트북(윈도우 11, 파이썬 3.12)에서 실제로 돌려봤습니다. 먼저 인코딩 자동 감지 라이브러리(charset-normalizer)에 맡겨 봤는데, CP949로 저장한 11바이트짜리 “안녕하세요”를 big5(중국어 번체)로 판정했고, 그대로 변환하면 “寰喟ж撮蹂”라는 … 더 읽기