본문 바로가기

코딩/파이썬 기초

파이썬 튜토리얼 037. 텍스트 파일 읽기

python : text file : read

텍스트 파일 읽기

파이썬으로 텍스트 파일을 읽는 방법은 대체적으로 간단하다.

 

파이썬 내장 함수 open()으로 파일 객체를 생성한 후 readline() 또는 readlines() 등의 메서드로 텍스트 파일을 읽고, 마지막에 close() 메서드로 읽기 위해 연 텍스트 파일을 닫으면 된다.

 

임의 텍스트 파일 sample.txt의 내용이 다음과 같은 경우,

 

 

우선 파일 객체의 read() 메서드를 이용하면, 정의된 개수 만큼 텍스트 파일의 데이터를 읽을 수 있다.

 

read_f = open(file='sample.txt', mode='tr')
print(read_f.read(7))
print(read_f.read(7))
read_f.close()

 

아래의 이미지와 같이 read() 메서드로 텍스트 파일을 읽을 때 줄바꿈 표시인 "\n"도 하나의 문자로 인식된다.

 

 

파일 객체의 readline() 메서드는 줄바꿈 문자를 포함하는 텍스트 데이터를 반환한다.

 

read_f = open(file='sample.txt', mode='tr')
print(read_f.readline())
print(read_f.readline())
read_f.close()

 

 

파일 객체의 readlines() 메서드는 텍스트 파일의 모든 데이터를 리스트로 반환한다.

 

read_f = open(file='sample.txt', mode='tr')
contents = read_f.readlines()
print(type(contents))
for line in contents:
    print(line)
read_f.close()

 

 

파일 객체를 for 문에 사용하면 좀 더 쉽게 한 줄씩 텍스트 파일을 읽을 수 있다. 또한 str 클래스의 메서드 strip() 또는 rstrip() 메서드로 줄바꿈 문자 "\n"을 제거할 수 있다.

 

read_f = open(file='sample.txt', mode='tr')
for line in read_f:
    print(line.rstrip())
read_f.close()

 

 

내장 함수 open()의 파라미터 정의는 다음과 같다.

 

open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)

 

open() 함수의 첫번째 파라미터 file은 읽거나 쓸 파일의 경로와 이름을, 두번째 파라미터 mode는 파일을 읽을 것인지 아니면 쓸 것인지에 대한 모드를 의미한다.

 

출처 : docs.python.org

 

텍스트 파일을 읽는 좀 더 안전한 방법은 키워드 with를 함께 사용하는 것이다.

이 경우 읽는 파일 객체에 대한 close() 메서드 호출은 생략된다.

 

with open(file='sample.txt', mode='tr') as read_f:
    for line in read_f:
        print(line.rstrip())