본문 바로가기
Artificial Intelligence/60. Python

[PYTHON] 파이썬 파일 처리 완전 정복 : 실무 예제 & 베스트 프랙티스

by Papa Martino V 2025. 7. 21.
728x90

완전 정복 : 실무 예제 & 베스트 프랙티스
[PYTHON] 파일 처리

 

파이썬에서 파일 처리는 로그 작성, 데이터 저장, 설정 읽기 등 다양한 분야에서 핵심 역량 중 하나입니다. 본 글에서는 텍스트, 이진, 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