| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Tags
- C++ 기초
- 생성형 AI
- pytorch
- 파이썬 클래스
- YOLO
- 프로그래밍
- 시스템관리
- onnx
- yolo11
- 파이썬
- 스마트팩토리
- 인공지능
- git
- 비전AI
- 머신러닝
- stable diffusion
- 리눅스
- 딥러닝
- 오픈소스
- tensorRT
- 생성형AI
- 산업적용
- Vision AI
- 앱테크
- Windows
- Python
- github
- AI
- comfyui
- 딥러닝 추론 최적화
Archives
- Today
- Total
너도 할 수 있는, 너도밤나무 코딩
[Python] 파일 입출력(File I/O) 심화 가이드 본문
반응형
파이썬에서 파일 입출력은 데이터를 외부 파일에 저장하고 읽어오는 중요한 기능입니다.
이번 글에서는 파일 열기, 읽기/쓰기, 텍스트/바이너리 처리, with문 활용, 예외 처리, 실전 예제까지 자세히 다룹니다.
1. 파일 열기와 닫기
파이썬에서는 open() 함수로 파일을 열 수 있습니다.
# 파일 열기
f = open('example.txt', 'w') # 쓰기 모드
f.write('Hello, Python File I/O!')
f.close() # 반드시 닫기
'r': 읽기 (기본값)'w': 쓰기 (파일이 존재하면 덮어쓰기)'a': 추가'b': 바이너리 모드'+': 읽기/쓰기
팁
- 파일 닫기를 잊으면 데이터가 저장되지 않거나 리소스 누수가 발생할 수 있음
with문을 사용하면 자동으로 파일 닫기 가능
with open('example.txt', 'w') as f:
f.write('자동으로 닫힙니다.')
2. 파일 읽기
전체 읽기
with open('example.txt', 'r') as f:
content = f.read()
print(content)
한 줄씩 읽기
with open('example.txt', 'r') as f:
for line in f:
print(line.strip()) # 줄바꿈 제거
리스트로 읽기
with open('example.txt', 'r') as f:
lines = f.readlines()
print(lines)
3. 파일 쓰기
문자열 쓰기
with open('output.txt', 'w') as f:
f.write('첫 번째 줄
')
f.write('두 번째 줄
')
여러 줄 쓰기
lines = ['라인1
', '라인2
', '라인3
']
with open('output.txt', 'w') as f:
f.writelines(lines)
4. 바이너리 파일 처리
# 이미지 파일 읽기
with open('image.png', 'rb') as f:
data = f.read()
# 이미지 파일 쓰기
with open('copy_image.png', 'wb') as f:
f.write(data)
5. 예외 처리와 안전한 파일 처리
파일 처리 시 예외가 발생할 수 있습니다.
try:
with open('non_exist.txt', 'r') as f:
content = f.read()
except FileNotFoundError:
print('파일이 존재하지 않습니다.')
except IOError as e:
print(f'입출력 오류: {e}')
6. 실전 예제: 로그 파일 기록
def log_message(message, filename='app.log'):
from datetime import datetime
with open(filename, 'a') as f:
time_str = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
f.write(f'[{time_str}] {message}
')
log_message('프로그램 시작')
log_message('데이터 처리 완료')
특징
a모드로 로그 누적datetime으로 시간 기록with문으로 자동 닫기
7. 팁과 베스트 프랙티스
- with 문 사용: 자동으로 파일 닫기, 예외 처리 안전
- 모드 확인: 읽기, 쓰기, 추가, 바이너리 모드 혼동 주의
- 예외 처리: 파일 존재 여부, 권한 문제 대비
- 큰 파일 처리: 한 줄씩 읽거나
iter사용 - 경로 관리:
os나pathlib로 상대/절대 경로 안전하게 처리
반응형
'프로그래밍 언어 > 파이썬' 카테고리의 다른 글
| [Python] 데코레이터(Decorator) 완전 정복 (0) | 2025.09.11 |
|---|---|
| [Python] 예외 처리(Exception Handling) 심화 가이드 (0) | 2025.09.10 |
| [Python] 클래스(Class) 심화 가이드 (1) | 2025.09.10 |
| [Python] 기초 완벽 정리 – 처음 배우는 사람도 쉽게 이해하는 가이드 (0) | 2025.09.10 |
| [Python] 파이썬(Python)으로 미쓰비시 PLC 제어하기 (0) | 2025.09.09 |