data_poem.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 |