파이썬 readline() 마스터하기: 효율적인 줄 단위 파일 읽기
파이썬 readline() 마스터하기: 효율적인 줄 단위 파일 읽기
파이썬 readline()이란?
readline()은 파일 객체에서 다음 전체 줄을 반환하는 내장 파일 메서드입니다. 반환된 문자열은 줄바꿈 문자(\n)로 끝납니다. 파일 끝에 도달하면 빈 문자열 반환.
선택적으로 size 인자를 전달해 읽을 바이트 수 제한 가능. 음수나 생략 시 전체 줄 반환.
주요 특징
- 호출당 한 줄 완전 읽기.
- 마지막 줄에 줄바꿈이 없으면 제외하고 끝에 줄바꿈 추가.
- 텍스트 모드에서 문자열, 바이너리 모드에서 바이트 객체 반환.
- 선택적
size 매개변수 지원 (기본값 -1).
문법
file_object.readline([size])
매개변수
- size (int, 선택): 읽을 바이트 수. 기본값 -1 (전체 줄).
반환값
다음 줄을 담은 문자열(또는 바이트), 파일 소진 시 빈 문자열.
예제 1: 첫 줄 읽기
demo.txt에 다음 내용 가정:
Testing - FirstLine
Testing - SecondLine
Testing - Third Line
Testing - Fourth Line
Testing - Fifth Line
파이썬 코드:
with open("demo.txt", "r") as f:
first_line = f.readline()
print(first_line)
출력: Testing - FirstLine
예제 2: size 인자 사용
첫 줄의 처음 10자만 읽기:
with open("demo.txt", "r") as f:
partial = f.readline(10)
print(partial)
출력: Testing -
파이썬 기본 파일 I/O
파일 열기는 open(path, mode)로 처리. 일반적인 모드:
| 모드 | 설명 |
| r | 읽기 (기본) |
| w | 쓰기 (잘라내기) |
| a | 추가 |
| rb | 바이너리 읽기 |
| wb | 바이너리 쓰기 |
파일 줄 단위 읽기
while 루프와 readline() 사용:
with open("demo.txt", "r") as f:
line = f.readline()
while line:
print(line)
line = f.readline()
for 루프 사용 (가독성 위해 권장):
with open("demo.txt", "r") as f:
for line in f:
print(line)
모든 줄 한 번에 읽기
파이썬 readlines()로 모든 줄 리스트 반환:
with open("test.txt", "r") as f:
lines = f.readlines()
print(lines)
출력 예: ["Line No 1\n", "Line No 2\n", "Line No 3\n", "Line No 4\n", "Line No 5"]
요약
- 제어된 줄 단위 읽기엔
readline() 사용.
size로 읽을 바이트 제한; 기본값은 전체 줄.
- 단순 반복엔 수동
while 루프보다 for line in file 선호.
- 모든 줄을 메모리에 올려야 할 땐
readlines() 편리.
- 항상 파일 닫기;
with 문이 자동 처리.