Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬(Python)으로 텍스트 파일을 한 줄씩 읽는 방법

파이썬에서 파일을 다룰 때 read() 함수는 파일의 전체 내용을 한 번에 메모리로 불러옵니다. 반면 파일을 한 줄씩 처리하고 싶다면 readlines() 함수를 사용하는 것이 좋습니다.

readlines()로 한 줄씩 읽기

readlines()는 파일의 각 줄을 요소로 하는 리스트를 반환하므로, 반복문과 함께 사용하면 파일을 줄 단위로 처리할 수 있습니다.

f = open('my_file.txt', 'r')
for line in f.readlines():
    print(line)
f.close()

위 코드는 파일을 연 뒤 모든 줄을 출력하고, 작업이 끝나면 반드시 close()로 파일을 닫아줍니다.

with 문으로 안전하게 파일 열기

파일을 열고 나서 닫는 것을 잊기 쉬운데, with ... open 구문을 사용하면 코드 블록이 끝나는 시점에 파일이 자동으로 닫히므로 더욱 안전하고 깔끔합니다.

with open('my_file.txt', 'r') as f:
    for line in f.readlines():
        print(line)

대용량 파일에는 파일 객체 직접 순회가 유리

사실 파이썬에서는 readlines() 없이 파일 객체 자체를 반복문에 넣어도 한 줄씩 읽을 수 있습니다. 이 방법은 전체 내용을 리스트로 만들지 않고 한 번에 한 줄씩만 메모리에 올리기 때문에, 용량이 큰 파일을 처리할 때 특히 효율적입니다.

with open('my_file.txt', 'r', encoding='utf-8') as f:
    for line in f:
        print(line.strip())

strip()을 사용하면 각 줄 끝에 붙어 있는 줄바꿈 문자(\n)를 제거할 수 있습니다.

정리

  • read(): 파일 전체를 하나의 문자열로 한 번에 읽음
  • readlines(): 각 줄을 요소로 하는 리스트로 반환하여 줄 단위 처리 가능
  • 파일 객체 직접 순회: 메모리 효율이 좋아 대용량 파일에 적합

상황에 맞는 방법을 선택하면 파일 입출력 코드를 더 깔끔하고 효율적으로 작성할 수 있습니다.