반응형
python에서 파일을 읽을 때 아래와 같이 에러가 나올 때가 있다.
line = f.readline()
UnicodeDecodeError: 'cp949' codec can't decode byte 0xec in position 515: illegal multibyte sequence
원인은 파일을 읽을 때 코덱이 맞지 않아서이다.
기본적으로 python3는 ANSI를 기준으로 작성된 파일을 읽는다.
따라서, UTF-8로 작성된 파일을 읽으려고 할 때 일반적인 open(filename, 'r') 을 사용한다면
위와 같은 에러가 발생한다.
해결하는 방법으로는 아래와 같이 encoding='utf-8' 을 추가한다.
with open('test.html', 'r', encoding='utf8') as f:
...
python3 부터는 ANSI 기준으로 작성된 파일만 읽을 수 있다.
UTF-8로 작성된 파일은 보통 방법으로 읽을 때 에러가 난다.
따라서 encoding을 잘 붙여서 에러를 줄여보자~
반응형
'다양한 TIP' 카테고리의 다른 글
구글 API 사용시 에러(이 페이지를 볼 권한이 없습니다) (0) | 2020.10.18 |
---|---|
vimrc map Ctrl + w 저장방법 (0) | 2019.11.29 |
Ubuntu 설치 후 apt-get update 실패시 확인할 것 (0) | 2019.11.18 |
댓글