파이썬의 파일 입출력은 단순히 `open()` 함수로 시작되지만, 실무에서는 경로 처리, 인코딩 문제, 예외 대응, with-context 활용 등 다양한 고려 사항이 필요합니다. 이번 글에서는 텍스트/CSV/JSON 파일 입출력 고급 활용법과 안전한 예외처리 방법을 함께 정리합니다.

✅ 1. 파일 열기와 쓰기 기본
텍스트 파일을 열고 쓰는 기본 구문:
with open("example.txt", "w", encoding="utf-8") as f:
f.write("파이썬 파일 입출력 연습입니다.\n")
with open("example.txt", "r", encoding="utf-8") as f:
content = f.read()
print(content)
→ with 구문을 쓰면 파일 자동 닫힘 처리됨
---
✅ 2. 파일 존재 여부 및 경로 처리
import os
file_path = "data/sample.txt"
if os.path.exists(file_path):
print("파일이 존재합니다.")
else:
print("해당 경로에 파일이 없습니다.")
# 디렉토리 자동 생성 예시
os.makedirs("data", exist_ok=True)
---
✅ 3. 예외 안전한 파일 처리
try:
with open("없는파일.txt", "r", encoding="utf-8") as f:
lines = f.readlines()
except FileNotFoundError:
print("파일이 없습니다. 새로 생성합니다.")
with open("없는파일.txt", "w") as f:
f.write("초기 내용\n")
except Exception as e:
print(f"예기치 못한 오류 발생: {e}")
---
✅ 4. CSV 파일 읽기/쓰기
import csv
# 쓰기
with open("users.csv", "w", newline='', encoding="utf-8") as f:
writer = csv.writer(f)
writer.writerow(["이름", "나이"])
writer.writerow(["홍길동", 30])
# 읽기
with open("users.csv", "r", encoding="utf-8") as f:
reader = csv.reader(f)
for row in reader:
print(row)
---
✅ 5. JSON 파일 읽기/쓰기
import json
data = {"이름": "홍길동", "나이": 30}
# 저장
with open("user.json", "w", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False, indent=2)
# 로드
with open("user.json", "r", encoding="utf-8") as f:
loaded = json.load(f)
print(loaded["이름"]) # 홍길동
---
✅ 6. 실무 팁 정리
- 파일 입출력은 항상 `with open()` 사용 (자동 닫힘)
- CSV/JSON 등은 전용 라이브러리 적극 활용
- `os.path.exists`, `os.makedirs`로 경로 안전 처리
- `try-except`를 통해 오류 발생 시에도 예외 복구 설계
- 인코딩 문제는 항상 `encoding="utf-8"`로 명시
---
정리:
단순한 파일 입출력도, 예외 처리와 결합하면 실무에서 신뢰할 수 있는 robust한 코드로 진화합니다.
데이터를 다루는 모든 작업에서 기본이 되는 만큼, 이 편은 꼭 마스터하고 가야 합니다.
'PYTHON > 중급학습' 카테고리의 다른 글
[중급 8편] CSV & 엑셀 파일 자동 처리.zip (0) | 2025.05.14 |
---|---|
[중급 7편] 파이썬으로 폴더 만들기 & 파일 자동 정리.zip (0) | 2025.05.14 |
[중급 5편] 클래스 상속과 다형성 실전.zip (0) | 2025.05.13 |
[중급 4편] 파일 처리 심화.zip (0) | 2025.05.11 |
[중급 3편] 예외처리 고급.zip (0) | 2025.05.11 |