본문 바로가기
컴퓨터관련/Python

파이썬에서 텍스트 파일 읽기

by 빛과 어둠사이 2020. 5. 18.
728x90
반응형
SMALL

오늘은 파이썬에서

텍스트 파일 읽는 방법을

정리해보고자 합니다.


텍스트파일을 읽어서

처리를 하는 것은

많이 사용하는 방법입니다.


그래서 이번에는 python에서

텍스트파일 읽는 방법을

정리해보도록 하겠습니다.


그리고 나중에는 텍스트 파일에

쓰는 방법도

정리를 해보도록 하겠습니다.

우선, 오늘은 txt 파일 읽기만 해보도록 하겠습니다.




우선 파이썬에서 텍스트파일

읽기를 위해서

txt파일을 생성하였습니다.


txt파일의 내용은

다음과 같이 만들었습니다.



위처럼 만들었습니다.

그리고 파이썬에서는

텍스트 파일을 읽기 위하여

open이라는

기본 함수를 이용합니다.

기본 내장 함수입니다.


실제 사용 예제를

확인해보도록 하겠습니다.


f = open("D:/python/test.txt", 'r', encoding='UTF8' )
line = f.readline()

print(line)

위처럼 소스를 작성해보았습니다.

그리고 위 소스에 대해서

설명을 해보도록 하겠습니다.


open함수의 첫번째 인자는

txt파일의 절대경로입니다.

두번째 인자는 파일 오픈모드입니다.

r : 읽기(읽기전용)

w : 쓰기(파일에 내용 추가)

a : 추가(파일의 마지막에 내용 추가)


이렇게 됩니다.

그리고 이번에는

읽기만을 할 것이기 때문에

r을 넣었습니다.


그리고 마지막은 해당 파일의

인코딩 형식입니다.


이것을 빼면 에러가 발생이 됩니다.

cp949 에러가 발생을 합니다.

저도 맨 처음에는 안넣었다가

아래와 같이 에러가 났습니다.



그래서 해결방법을 찾다가

파일의 인코딩 형식을

지정해주면 된다고 해서

위와 같이 해서

해결을 하였습니다.



그래서 위와 같이 소스를 작성하여

실행을 하면

결과는 다음과 같이 나오게 됩니다.



위와 같이 나옵니다.

readline 함수는

한 줄만 읽어오는 함수이기 때문에

한 줄만 읽어와지는 것입니다.





이제 파일을 처음부터 끝까지

읽어오는 방법을

정리해보도록 하겠습니다.

전체를 읽는 방법은

총 3가지가 있습니다.


1. readline 함수

위에서 한 것처럼

readline 함수를 이용하여

끝까지 가져올 수 있습니다.

방법은 다음과 같습니다.

f = open("D:/python/test.txt", 'r', encoding='UTF8' )

while 1 :
    line = f.readline()
    if not line : 
        break

    print(line)

위와 같이 해주시면 되십니다.


위 소스를 설명하면 다음과 같습니다.

파일을 읽어오고,

무한루프를 돕니다.

그러면서 읽어온 라인이 없으면

즉, 파일의 끝이면

break 문으로 해서

반복문을 종료하는 것입니다.


위와 같이 해서

실행을 하면

결과는 다음과 같이 나오게 됩니다.





2. readlines 함수

이번에는 readlines 함수를 이용하는 방법입니다.

위 1번의 readline 함수에 s를 더 붙인 것입니다.


readlines 함수의 경우,

파일을 처음부터 끝까지 읽어서

리스트 형식으로

리턴을 해주는 것입니다.


사용 예제는 다음과 같습니다.

f = open("D:/python/test.txt", 'r', encoding='UTF8' )
lines = f.readlines()

print(lines)


위와 같이 소스를 작성하고

실행을 하면

결과는 다음과 같습니다.



위처럼 리스트 형식으로

반환이 된 것을

확인할 수 있습니다.


그리고 맨 앞에 \ufeff가 붙었습니다.

이 것에 대해서는

나중에 다시 정리하도록 하겠습니다.




그런데 우선 우리가 원한 것은

한줄씩 읽어오기를 원했던 것입니다.

그렇기 때문에 for문으로 해서

한줄씩 가져오게 할 수 있습니다.


실제 사용 예제는 다음과 같습니다.

f = open("D:/python/test.txt", 'r', encoding='UTF8' )
lines = f.readlines()

for i in lines :
    print(i)


위 소스는 리스트형식으로

읽어온 텍스트파일을

for문으로 해서

라인별 가져와서 출력을 하도록

한 것입니다.


위 소스를 실행하면

결과는 다음과 같이 나오게 됩니다.



위처럼 나오게 됩니다.





3. read 함수

이번에는 read 함수를 이용하는 방법입니다.

read 함수는 텍스트파일의 내용 전체를

읽어와서 문자열로 반환하는 것입니다.

readlines 함수는 리스트형으로 반환하는 것과 다르게

문자열로 반환하는 것입니다.


실제 사용 예제를

확인해보도록 하겠습니다.


f = open("D:/python/test.txt", 'r', encoding='UTF8' )
rd = f.read()

print(rd)


위처럼 소스를 작성하였습니다.

그리고 실행을 하면

결과는 다음과 같이 나오게 됩니다.



위처럼 나오게 됩니다.

위의 결과는 문자열로 가져와서

전체를 다 출력해준 것입니다.






오늘은 파이썬에서 txt파일을

읽어오는 방법을

확인해보았습니다.


python에서뿐 아니라

여러 언어에서 텍스트파일을 읽어서

처리를 하는 것은

많이 사용하는 방법입니다.


그렇기 때문에

알고 있으면 여러모로 도움이 될 것 같습니다.





이상으로 파이썬에서 텍스트파일 읽기였습니다~





혼자 공부하는 파이썬:파이썬 최신 버전 반영

파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음



728x90
반응형
LIST