728x90

파이썬에서 파일 처리는 로그 작성, 데이터 저장, 설정 읽기 등 다양한 분야에서 핵심 역량 중 하나입니다. 본 글에서는 텍스트, 이진, CSV, JSON 파일을 다루는 방법과, 컨텍스트 매니저, 예외 처리, 안전한 종료 등 신뢰도 높은 실전 기법을 소개합니다.
1. 파일 처리 핵심 개념 비교
| 파일 형식 | 모드 | 주요 메서드 | 용도 |
|---|---|---|---|
| 텍스트 | 'r','w','a' | read(), readline(), write() | 설정, 로그, 단순 텍스트 |
| 이진 | 'rb','wb' | read(), write() | 이미지, 오디오, 바이너리 파일 |
| CSV | 'r','w' | csv.reader, csv.writer | 표 형식 데이터 입출력 |
| JSON | 'r','w' | json.load, json.dump | 구조화된 데이터 저장 및 교환 |
2. 사용 예제
✅ 텍스트 파일 읽기/쓰기
with open('example.txt','r',encoding='utf-8') as f:
content = f.read()
print(content)
✅ 이진 파일 처리
with open('image.png','rb') as f:
data = f.read()
# 처리 후
with open('copy.png','wb') as out:
out.write(data)
✅ CSV 다루기
import csv
with open('data.csv','r',encoding='utf-8') as f:
rows = csv.reader(f)
for row in rows:
print(row)
✅ JSON 읽기·쓰기
import json
data = {'user':'Alice','age':30}
with open('data.json','w',encoding='utf-8') as f:
json.dump(data,f,ensure_ascii=False,indent=2)
3. 안전한 파일 처리 베스트 프랙티스
- with 문 사용: 자동으로 파일 닫기
- 예외 처리 패턴: FileNotFoundError, PermissionError 등 대응
- 절대 경로 권장: 상대 경로로 인한 오류 방지
- 파일 존재 검사: os.path.exists() 활용
- seek/tell 활용: 대용량 파일 일부만 읽기
- binary/text 모드 구분: 이미지 등 바이너리 파일 처리 시 필수
4. 고급 기능 활용
- seek(), tell(): 파일 포인터 위치 제어
- 자동 백업: 덮어쓰기 전 원본 별도 저장
- 임시 파일 처리: tempfile 모듈 사용
- 대용량 스트리밍: iter/readline 사용으로 메모리 절약
5. 정리
파일 처리는 단순히 데이터를 읽고 쓰는 것을 넘어, 데이터 무결성, 예외 대응, 성능 최적화을 모두 고려해야 하는 핵심 기술입니다. 위 예제와 모범 사례를 바탕으로, 다양한 파일 작업을 안정적이고 효율적으로 수행할 수 있습니다.
출처
- GeeksforGeeks – File Handling in Python (2025‑06‑22)
- Medium – Secure and Efficient File Handling 사례
- ScriptSerpent – File I/O Best Practices
728x90
'Artificial Intelligence > 60. Python' 카테고리의 다른 글
| [PYTHON] 리스트의 모든 것: 기초부터 고급 활용까지 완전 정복 (0) | 2025.07.21 |
|---|---|
| [PYTHON] 문자열(String) 완벽 가이드 : 기초부터 고급 활용까지 (0) | 2025.07.21 |
| [PYTHON] 파이썬 가상환경 완전 정복 : venv, virtualenv, pipenv 비교와 실전 활용 (0) | 2025.07.21 |
| [PYTHON] 백엔드 마스터하기 : Python 서버 개발 완전 가이드 (0) | 2025.07.21 |
| [PYTHON] 최신 Python 시각화 라이브러리 완벽 정리 (0) | 2025.07.21 |