파일 내용 일괄 치환 파이썬 — 텍스트 파일 500개 단어 한 번에 바꾸기, 미리보기가 놓친 2,620줄 (실측)

파일 내용 일괄 치환 파이썬 — 텍스트 파일 500개 단어 한 번에 바꾸기, 미리보기가 놓친 2,620줄 (실측)

서버 주소가 바뀌었거나 담당자 이름이 바뀌어서, 폴더 안 텍스트 파일 수백 개에서 같은 단어를 전부 고쳐야 할 때가 있습니다. 하나씩 열어 바꾸면 파일당 30초만 잡아도 500개면 4시간이 넘습니다. 이번 글에서는 파일 내용 일괄 치환을 파이썬으로 처리하되, 저장하기 전에 무엇이 어떻게 바뀌는지 먼저 보여 주는 미리보기까지 넣은 스크립트를 직접 만들어 돌려 봤습니다. 먼저 검색하면 흔히 나오는 … 더 읽기

파이썬 예외 로그 남기기 — 스크립트가 조용히 죽을 때 원인을 파일로 잡는 법, 함정 4가지 (실측)

파이썬 예외 로그 남기기 — 스크립트가 조용히 죽을 때 원인을 파일로 잡는 법, 함정 4가지 (실측)

터미널에서 직접 돌릴 때는 멀쩡히 오류 메시지를 보여 주던 스크립트가, 작업 스케줄러나 백그라운드로 돌리면 아무 말 없이 멈춰 있는 경우가 있습니다. 결과 파일이 안 생겼다는 사실만 다음 날 알게 되고, 어디서 왜 죽었는지는 알 길이 없습니다. 이번 글에서는 파이썬 예외 로그 남기기를 표준 라이브러리 logging만으로 구성해, 잡은 예외든 놓친 예외든 스레드 안의 예외든 트레이스백까지 로그 … 더 읽기

AI 답변 코드 추출 — 코드 블록만 뽑아 파일로 저장하기, 정규식 한 줄이 놓친 3가지 (실측)

AI 답변 코드 추출 — 코드 블록만 뽑아 파일로 저장하기, 정규식 한 줄이 놓친 3가지 (실측)

ChatGPT나 Claude에게 스크립트를 부탁하면 답변 한 번에 코드 블록이 서너 개씩 섞여 나옵니다. 설치 명령, 본 코드, 설정 파일, 실행 예시가 설명 문단 사이사이에 끼어 있어서, 매번 블록마다 복사 버튼을 누르고 새 파일을 만들고 이름을 붙이는 일을 반복하게 됩니다. 이번 글에서는 AI 답변 코드 추출을 파이썬 표준 라이브러리만으로 자동화해, 마크다운으로 저장한 답변에서 코드 블록만 골라 … 더 읽기

pytest 사용법 — 스크립트에 테스트 붙이기, 리팩터링 실수를 0.07초 만에 잡은 기록 (실측)

pytest 사용법 — 스크립트에 테스트 붙이기, 리팩터링 실수를 0.07초 만에 잡은 기록 (실측)

업무용 파이썬 스크립트는 처음 만들 때 몇 번 돌려 보고 “잘 되네” 하고 넘어가는 경우가 많습니다. 문제는 나중에 코드를 고칠 때입니다. 함수 하나를 짧게 다듬었는데 예전에 되던 입력이 조용히 틀린 값을 내도, 직접 다시 확인하기 전까지는 알 수 없습니다. 이 글은 pytest 사용법을 처음 익히는 분을 위해, 작은 유틸 함수 3개에 테스트 13개를 붙여 실제로 … 더 읽기

엑셀 시트 CSV 변환 — 여러 시트를 파이썬으로 한 번에, 앞자리 0이 사라진 이유 (실측)

엑셀 시트 CSV 변환 — 여러 시트를 파이썬으로 한 번에, 앞자리 0이 사라진 이유 (실측)

엑셀 파일 하나에 월별 시트가 여러 개 있고, 이걸 다른 프로그램에 넣으려면 시트마다 CSV로 저장해야 하는 경우가 있습니다. 엑셀에서 시트를 하나씩 열어 “다른 이름으로 저장”을 반복하는 대신, 엑셀 시트 CSV 변환을 파이썬으로 한 번에 처리하는 스크립트를 만들었습니다. 먼저 흔히 보이는 pandas 다섯 줄짜리 코드로 시트 6개, 10만 행짜리 시험 파일을 변환해 봤습니다. 오류 없이 4초 … 더 읽기

파이썬 소수점 오차 — 0.1+0.2가 0.3이 아닐 때, 금액 계산 89,919건 실측

파이썬 소수점 오차 — 0.1+0.2가 0.3이 아닐 때, 금액 계산 89,919건 실측

파이썬에서 0.1 + 0.2를 출력하면 0.30000000000000004가 나옵니다. 이 파이썬 소수점 오차는 유명하지만, 금액 계산에서 실제로 얼마나 자주 틀리는지는 재 본 적이 없었습니다. 그래서 100원부터 100,000원까지 10원 단위 가격 9,991개에 할인율·세율 9가지를 곱해, 모두 89,919건을 정확한 분수 계산과 비교했습니다. 원 미만을 int()로 버리는 흔한 코드는 3,501건(3.89%)에서 1원씩 적게 나왔습니다. 180원의 35%가 63원이 아니라 62원으로 계산되는 식입니다. … 더 읽기

프롬프트 템플릿 관리 — 파일로 빼고 변수만 채워 쓰기, 치환 방식 6가지 비교 (실측)

프롬프트 템플릿 관리 — 파일로 빼고 변수만 채워 쓰기, 치환 방식 6가지 비교 (실측)

이 블로그는 매일 AI에게 같은 지시문을 보내 글을 씁니다. 그 지시문 1,601자는 PowerShell 스크립트 안에 문자열로 들어 있고, 날짜만 바꿔 씁니다. 이걸 프롬프트 템플릿 관리 방식으로 파일에 옮겨 보면서, 변수를 채우는 방법 6가지를 같은 시험 8개에 넣어 비교했습니다. 결과가 갈린 지점은 속도가 아니었습니다. 변수 이름에 오타가 나면 6가지 중 3가지는 오류 없이 빈 자리를 그대로 … 더 읽기

파이썬 병렬 처리 — multiprocessing으로 13초 작업을 1.9초로, 스레드는 왜 그대로였나 (실측)

파이썬 병렬 처리 — multiprocessing으로 13초 작업을 1.9초로, 스레드는 왜 그대로였나 (실측)

파일 200개를 하나씩 처리하는 스크립트가 있습니다. 작업 관리자를 열어 보면 코어 16개 중 하나만 바쁘고 나머지는 놀고 있습니다. 파이썬 병렬 처리를 쓰면 이 남는 코어를 일에 동원할 수 있습니다. 로그 200개(415MB)의 단어를 세는 스크립트로 직접 재 보니 직렬 13.06초가 작업자 14개에서 1.92초가 됐습니다. 다만 그 숫자까지 가는 길이 곧지는 않았습니다. 처음 쓴 코드는 오류를 내고 … 더 읽기

AI가 쓴 글 점검 스크립트 — 문장 길이·반복 표현을 숫자로 재기 (실측)

AI가 쓴 글 점검 스크립트 — 문장 길이·반복 표현을 숫자로 재기 (실측)

AI가 쓴 글은 한 편씩 읽으면 멀쩡해 보입니다. 어색함은 여러 편을 이어 읽을 때 드러나는데, 그걸 눈으로 찾기는 어렵습니다. 그래서 AI 글 반복 표현 점검 스크립트를 파이썬 표준 라이브러리만으로 만들어, 이 블로그 원고 76편(문장 5,681개)을 재 봤습니다. 이 블로그는 Claude로 원고를 쓰기 때문에 제 글이 곧 실험 대상입니다. 결과는 예상과 달랐습니다. 제가 미리 고른 상투어 … 더 읽기

파이썬 pathlib 사용법 — os.path 코드를 pathlib로 바꿔 보기 (실측)

파이썬 pathlib 사용법 — os.path 코드를 pathlib로 바꿔 보기 (실측)

os.path.join, os.path.splitext, os.path.dirname이 한 줄에 겹쳐 있는 코드는 쓸 때도 읽을 때도 눈이 아픕니다. 파이썬 pathlib 사용법을 익히면 이런 경로 코드가 Path 객체 하나로 정리됩니다. 이 글에서는 실제로 돌아가는 os.path 백업 스크립트를 pathlib로 옮기면서 생긴 일을 그대로 기록했습니다. 반복문은 17줄에서 12줄로 줄었고 결과 파일은 내용까지 같았지만, 그냥 옮긴 첫 실행은 cp949 오류로 바로 멈췄고, rename()은 … 더 읽기