본문 바로가기
programming/Python

파이썬 텍스트 파일 읽기 한글 출력 Python Read Text File

by 개코 - 개발과 코딩 2022. 1. 22.

파이썬에서 텍스트 파일을 읽는 것은 open 함수를 사용하면 된다. 비영어권 글자의 경우 깨지거나 나오지 않을 수 있기 때문에 open 함수의 encoding 옵션을 추가하면 비영어권 파일도 정상적으로 화면에 출력할 수 있다.

파이썬 텍스트 파일 읽기
Python Read Text File

파이썬으로 파일을 읽는 방법은 간단하다.

하지만 텍스트 파일의 인코딩 문제나 영어권 외 텍스트 파일에는 문제를 일으킬 수 있다.

파일 자체는 읽지만 파일의 내용을 읽을 수 없는 상태이다.

인코딩을 하면 상관이 없다.

파일을 읽으면 이러한 상황까지 고려해 본다.

파일 열기 open 함수

파이썬에서 파일을 열 때는 open 함수를 이용한다.

기본값은 Read r , Text t 이다.

텍스트파일을 읽는 것이 기본값이다.

파일을 열었다면 close 함수로 닫아줘야 한다.

다시 생각해 보자.

파이썬에서 파일을 읽고 닫는 것을 먼저 기억하자.

open 함수에서 옵션이 기본값일 경우 굳이 사용하지 않아도 된다.

vFile = open('파일명', 'rt')
vFile.close()

파일 읽기 기본

위에서 언급한 것을 기준으로 텍스트 파일을 읽어본다.

코드 몇 줄이면 가능하다.

print("----------")
    
try :
    # f = open("zFileEng.txt") 
    print(f.read())
    f.close()
except :
    print('파일이 존재하지 않습니다.')
    
print("----------")

위의 코드는 파이썬에서 파일을 읽는 기본적인 코드이다.

파일명은 영어로 만든 텍스트파일을 읽는 코드이다.

먼저 결과화면을 보자.

잘 읽어온다.

그럼 이 파일을 한글일 경우 어떨까 생각해 보자.

한글로 저장된 텍스트 파일을 하나 만들고 코드의 파일명만 변경해 준다.

print("----------")
    
try :
    f = open("zFileKor.txt")
    print('---- 파일 열기 완료')
    print(f.read())
    f.close()
except :
    print('파일이 존재하지 않습니다.')
    
print("----------")

파일을 읽을 수 있을 것 같았지만, 예외처리가 되었다.

텍스트 파일의 인코딩 방식의 차이이며, 비영어권에서는 파일을 제대로 읽지 못하는 문제가 있다.

encoding 지정으로 한글 깨짐 방지

open 함수에 인코딩을 지정하여 파일을 다시 읽어본다.

파이썬에서 텍스트 파일을 읽을 때는 open 함수의 encoding 옵션으로 UTF-8 을 지정하고 한글이 깨지는 파일을 다시 읽어보도록 한다.

코드는 아래와 같다.

    
print("----------")
    
try :
    f = open("zFileKor.txt",  encoding='UTF-8')
    print('---- 파일 열기 완료')
    print(f.read())
    f.close()
except :
    print('파일이 존재하지 않습니다.')
    
print("----------")

open 함수에 인코딩을 사용할 때는 encoding 속성을 사용한다.

이제 한글로 저장된 텍스트파일을 읽어보도록 한다.

결과화면을 보자.

인코딩 하나 넣어줬을 뿐이다.

제대로 나오는 것을 볼 수 있다.

반응형

댓글