data_poem.txt의 파일은 다음과 같이 한글로 저장되어있다.

txt 파일

여기서 파일 오픈 에러가 나는지 확인을 하기 위해 다음과 같은 코드를 실행한다. 

try:
    file_handler = open("data_poem.txt", 'rt')  

    data_string  = file_handler.read()             
    print(data_string)                             

    file_handler.close()

except FileNotFoundError as e:
    print(f"파일 오픈 에러 :{e}")
    
except UnicodeDecodeError as e:
    print(f"파일 오픈 에러 :{e}")

 

이 결과는 cp949로 윈도우에서 지원하는 encoding 체계라서 바꿔주려면

encoding 파라미터를 전달하여 파일이 오픈되도록 해야한다. 

file_handler = open("data_poem.txt", 'rt', encoding='utf-8')

data_string  = file_handler.read()             
print(data_string)                             

file_handler.close()

encoding은 한국어냐 외국어냐 영어냐에 따라서 encoding을 바꿔주면 된다.

한글로 파일을 읽을 때는 encoding = 'utf-8'

 

 

 

자동으로 파일 객체 닫기

with open ( ) as f: 파일 사용 뒤 자동으로 파일 객체를 닫는다.

# with의 코딩 블록을 벗어나는 순간 자동으로 파일 객체를 닫아준다.

with open("data_poem.txt", "rt", encoding = 'utf-8') as fp:
	data_string = fp.read()
    print(data_string)

 

 

 

'프로그래밍 > Python' 카테고리의 다른 글

Python - 클래스  (1) 2023.11.25
Python - 텍스트 파일 출력(쓰기)  (0) 2023.10.21
Python - file open 시 오류 처리  (0) 2023.10.21
Python - 파일 입출력  (0) 2023.10.21
Python - 피보나치 수열  (0) 2023.10.14

+ Recent posts