포커스 키워드: 파이썬 파일 읽기, open() 함수, read()
“텍스트 파일 하나 읽는 것도 헷갈리시죠?” 저도 그랬습니다. 파일 하나 여는 게 뭐가 어렵냐 싶지만, 막상 `open()`과 `read()`를 쓰다 보면 생각보다 예외가 많고 상황도 다양하죠.
이제는 확실히 정리할 때입니다. 이 글은 파이썬 파일 읽기 기초부터 예외처리까지, 가장 실용적으로 알려주는 가이드입니다.
📚 목차
1. open() 함수란? – 파일을 여는 방법
open()
함수는 파일을 읽거나 쓰기 위해 여는 가장 기본적인 파이썬 내장 함수입니다. 자주 쓰이는 기본 구문은 아래와 같습니다.
file = open("hello.txt", "r", encoding="utf-8")
요소 | 설명 |
---|---|
“hello.txt” | 읽고 싶은 파일 이름 (경로 포함 가능) |
“r” | 읽기 모드 (기본값) |
encoding=”utf-8″ | 한글 파일 읽기를 위한 필수 설정 |
팩트 문장: “파일은 열면 닫아야 한다. 그게 기본이다.”
2. read(), readline(), readlines() 비교
파이썬에서 파일을 읽는 방법은 총 3가지입니다. 각각의 특징과 차이점을 함께 살펴보죠.
# 전체 내용 읽기
with open("sample.txt", "r", encoding="utf-8") as f:
content = f.read()
print(content)
# 한 줄씩 읽기
with open("sample.txt", "r", encoding="utf-8") as f:
line = f.readline()
while line:
print(line.strip())
line = f.readline()
# 모든 줄을 리스트로
with open("sample.txt", "r", encoding="utf-8") as f:
lines = f.readlines()
for line in lines:
print(line.strip())
3. with 문, 인코딩, 예외 처리까지!
- with 문을 쓰면 파일 자동으로 닫힘. 명시적 close() 생략 가능.
- encoding은 필수. 안 하면 한글 깨진다!
- 예외 처리로 FileNotFoundError 방지 가능.
import os
if os.path.exists("sample.txt"):
with open("sample.txt", "r", encoding="utf-8") as f:
print(f.read())
else:
print("파일이 존재하지 않습니다.")
✔ 핵심 정리: 작은 습관 하나가, 큰 에러를 막아줍니다.
4. 실전 예제 – 자주 쓰는 패턴 모음
실제로 우리가 많이 쓰는 파일 읽기 패턴들을 예제로 정리했습니다. 복붙해서 바로 써도 됩니다!
패턴 | 설명 |
---|---|
전체 읽기 | 파일 크기가 작고 내용을 한 번에 확인할 때 사용 |
라인 반복 읽기 | 많은 줄을 순차적으로 처리할 때 유용 |
리스트로 읽기 | 각 줄을 리스트로 받아 일괄 처리할 때 좋음 |
5. 자주 묻는 질문 정리
커뮤니티에서 자주 보이는 질문들을 한눈에 정리했습니다.
- Q. 파일이 없을 때 에러나는 이유는?
A. 파일이 존재하지 않는데 open(“a.txt”)를 호출하면 FileNotFoundError가 발생합니다.
- Q. 한글 깨짐은 왜 생기나요?
A. 파일 인코딩과 읽는 인코딩이 다를 때 발생합니다. 대부분 utf-8로 읽는 게 안전합니다.
- Q. readlines()가 느린 이유는?
A. 전체 줄을 리스트에 넣기 때문에 큰 파일에서는 메모리를 많이 씁니다.
6. 마무리 요약과 꿀팁
- 항상
with open()
을 습관처럼 사용하세요. - 파일 인코딩은 utf-8이 표준입니다.
- 파일이 크면
readline()
으로 처리하세요.
팩트 문장: “파일을 여는 건 기술이 아니라 태도다. 매번 신중해야 한다.”
실전 후기와 꿀팁 – ‘파일 하나 열 줄 몰라’ 울 뻔했던 날
“파일 열려고 했는데 한글 다 깨지고, 에러 메시지는 cryptic하고, 결국 컴퓨터 끄고 나왔어요. 그게 첫 번째 시도였죠. 다시 켰을 땐, 검색창에 이렇게 썼습니다. ‘파이썬 한글 파일 깨짐 안 되게 읽는 법’…”
그땐 몰랐어요. encoding="utf-8"
하나만으로 모든 게 달라질 수 있다는 걸. 단순해 보이지만 파이썬의 파일 읽기는 섬세한 디테일의 집합체입니다. 초보자일수록 ‘왜 안 되지?’보다 ‘내가 뭘 안 썼지?’를 먼저 생각해야 해요.
✔ 실전 꿀팁 한눈에 보기
- 파일 열기 전엔
os.path.exists()
로 존재 확인! - 파일이 크면
read()
대신readline()
을 써라 with open()
은 이제 습관처럼 써야 한다- 한글 깨짐?
encoding="utf-8"
이 기본이다
팩트 문장: “파일이 안 읽힌다고? 99%는 네가 안 닫았거나, 인코딩을 안 줬기 때문이야.”
나도 모르게 자주 겪는 ‘파일 읽기 오류’는 대부분 사소한 실수에서 시작됩니다. 이 글을 읽는 당신만큼은 같은 실수를 반복하지 않길 바라는 마음으로, 저의 ‘초짜 시절’을 공유합니다.
with open()
구문은 파일을 자동으로 닫아주기 때문에 버그나 자원 누수를 줄일 수 있습니다.read()
는 전체 텍스트를 한 번에 읽고, readline()
은 한 줄씩 읽으며, readlines()
는 줄 단위로 리스트에 담습니다. 상황에 따라 선택하세요.FileNotFoundError
가 발생합니다. os.path.exists()
로 미리 확인하는 습관을 들이세요.utf-8
로 인코딩된 파일이 많으니, open(..., encoding="utf-8")
을 꼭 추가하세요.read()
는 파일 포인터를 끝까지 이동시킵니다. 다시 읽으려면 f.seek(0)
으로 처음으로 이동하거나, 파일을 다시 열어야 합니다.🔍 시각 자료 + 외부 참고로 더 깊게 이해하기
📘
W3Schools: 파이썬 파일 열기 기본 가이드
– 기초 개념과 예제를 쉽고 간결하게 설명한 사이트입니다.
📗
Real Python: 파일 입출력 심화 강좌
– 실전 예제와 함께 다양한 파일 처리 방식이 정리되어 있어 매우 실용적입니다.
🎬
유튜브 강의: 파이썬 파일 읽기/쓰기 쉽게 배우기
– 입문자 눈높이에서 진행되는 인기 강의입니다.
✔ 요약 다시 보기
- read()는 전체 내용, readline()은 한 줄, readlines()는 리스트로
- 파일이 존재하는지 확인은 os.path.exists()
- 파일은 반드시 with open()으로 안전하게 다룰 것
- 인코딩은 거의 무조건 “utf-8″로!
이제 `open()`과 `read()`는 두려움의 대상이 아닙니다. 파일 하나 제대로 여는 것만으로도 개발자는 한 걸음 성장합니다. 익숙해질수록 파일은 단순한 데이터 저장소가 아닌, 문맥을 가진 기록이란 걸 느끼게 됩니다.
오늘 하나 배웠다면, 내일은 그걸 써보는 날이 되기를 바랍니다.
Tags: 파이썬, 파일읽기, open함수, read함수, with문, 파일처리, 코딩초보, 파이썬기초, 인코딩, 예외처리
포커스 키워드: 파이썬 파일 읽기, open() 함수, read()
메타 설명: 파이썬에서 파일을 읽을 때 반드시 알아야 할 open(), read(), readline(), readlines() 사용법과 함께, 실전 예제와 자주 묻는 질문을 한 번에 정리한 초보자 맞춤 가이드입니다.
슬러그: python-open-read-guide
HANSORI.AI_Blog Labs에서 더 알아보기
구독을 신청하면 최신 게시물을 이메일로 받아볼 수 있습니다.