Python/파이썬 기초

파이썬 텍스트(txt) 파일 읽기 방법 정리(for문, read, readline, readlines)

jimmy_AI 2022. 5. 4. 19:25
반응형

Python txt 파일 읽기 예제

파이썬에서 텍스트 파일을 읽어들이는 방법을 간결하게 정리해보도록 하겠습니다.

 

이해를 돕기 위하여 아래의 예시 파일인 example.txt를 읽는 상황을 가정해 보겠습니다.

또한, 해당 txt 파일의 디렉토리는 파이썬 파일과 같은 폴더에 위치하는 상황을 가정하겠습니다.

 

 

참고 : open vs with open 구문 비교

먼저, 파일을 다루는 두 가지 구문인 open 구문과 with open 구문의 차이를 비교하겠습니다.

 

open 구문은 별도의 들여쓰기는 필요 없으나 파일 사용이 끝나면 close를 해주어야 합니다.

반면에 with open 구문은 close는 필요가 없으나 사용할 범위 내에서 들여쓰기가 필요합니다.

 

두 문법의 예시 포맷 코드는 아래와 같습니다.(open 내 "r"은 읽기 모드를 의미합니다.)

# open 구문 포맷
f = open("example.txt", "r")
### 파일 읽는 코드 ###
f.close()

# with open 구문 포맷
with open("example.txt", "r") as f:
    ### 파일 읽는 코드 ###

이 글에서는 with open 구문을 기준으로 파일을 읽어들이는 예시 코드를 보여드리겠습니다.

 

참고로, 아래에서 다룰 코드들의 출력 결과는 모두 다음과 같이 등장하도록 맞추었습니다.

### 출력 결과 ###
첫 번째 줄
두 번째 줄
세 번째 줄

 

 

텍스트 파일 읽기 방법 1 : for문

기본적으로 for문을 통하여 파일 변수 내의 텍스트들을 한 줄씩 순회하며 읽어들일 수 있습니다.

 

참고로, txt 파일 내에 각 줄의 끝에 줄바꿈 문자가 기본적으로 포함되어 있으며,

print 함수 내에서 한 줄의 줄바꿈을 추가해주므로 깔끔하게 출력하기 위해서는

strip()을 통하여 줄바꿈 문자를 제거해주시는 것이 좋습니다.

with open("example.txt", "r") as f:
    for line in f:
        print(line.strip())
반응형

텍스트 파일 읽기 방법 2 : read 함수

read 함수는 파일 내 텍스트 전체를 문자열 1개로 반환하는 함수입니다.

 

아래의 코드 실행 시, example 변수에 파일 전체의 텍스트가 담긴 것을 확인할 수 있습니다.

with open("example.txt", "r") as f:
    example = f.read()

print(example)

 

 

텍스트 파일 읽기 방법 3 : readline 함수

readline 함수는 generator와 비슷한 형태로

실행할 때 마다 한 줄의 문자열씩 반환하는 함수입니다.

 

다음 예시 코드로 모든 줄의 텍스트를 readline 함수로 차례대로 읽어들일 수 있습니다.

with open("example.txt", "r") as f:
    while True:
        line = f.readline()
        if not line: # 파일 읽기가 종료된 경우
            break
        print(line.strip())

 

 

텍스트 파일 읽기 방법 4 : readlines 함수

readlines 함수는 각 줄의 텍스트를 리스트의 원소로 모아서

전체 텍스트를 리스트 형태로 반환해주는 함수입니다.

 

마찬가지로 각 줄의 텍스트를 모두 출력하려면 아래 예시처럼 코드를 작성해주시면 됩니다.

with open("example.txt", "r") as f:
    example = f.readlines() # ['첫 번째 줄\n', '두 번째 줄\n', '세 번째 줄'] 저장
    for line in example:
        print(line.strip())