파이썬 'unicodeescape' codec can't decode bytes in position 2-3 오류 해결

파이참 프로그램을 이용해서 파이썬을 공부 중에 뜬 'unicodeescape' codec can't decode bytes in position 2-3 오류 해결방법에 대해 알아보겠습니다.

 

이 날은 온라인 신문사이트에서 크롤링해서 가져온 뉴스 기사의 명도 빈도는 카운트해서, 그 자료를 바탕으로 워드클라우드로 시각화하는 코드를 짜는 날이었습니다.

unicodeescape' codec can't decode bytes in position 2-3
'unicodeescape' codec can't decode bytes in position 2-3 유니코드 오류 해결

컴퓨터의 폰트를 불러오는 도중 파이참에서 'unicodeescape' codec can't decode bytes in position 2-3 오류가 나타났습니다.

 'unicodeescape' codec can't decode bytes in position 2-3 오류

직역하자면 2,3번 행에 있는 유니코드 이스케이프 코덱이 디코드 되지 않는다는 말인데, 파이썬 파이참 초보인 내가 알리 없었습니다. 딴 건 모르겠지만 유니코드가 잘못되었다는 사실 하나는 알았기에, 구글링을 통해 해결할 수 있었습니다.

 

unicodeescape' codec can't decode bytes in position 2-3
'unicodeescape' codec can't decode bytes in position 2-3 유니코드 오류 해결

오류가 발생했던 코드는 다음과 같았습니다.  'unicodeescape' codec can't decode bytes in position 2-3 

다른 파이썬 글 보러가기

이렇게 경로를 작성하는 코드를 파이썬에서 사용할 때는 다른 방법을 써야 한다고 합니다

파이썬에서 특수문자 '\'의 활용도가 꽤 많아서, \n는 줄 바꿈(개행) \t는 탭 \0는 null 값, \\가 문자 '\'를 의미하기 때문입니다. \u 혹은 \U는 유니코드를 나타내는 특수문자라 고합니다 유니코드로 인식해서 생기는 오류랄까요.

경로 함수설정 방법

프로그래밍에서는 이런 작은 읽기 해석 오류 때문에 'unicodeescape' codec can't decode bytes in position 오류가 뜬다고 합니다.

따라서 위 경로의 주소를 파이썬 식대로, 프로그램이 읽을 수 있게 적으면 두 가지 방법으로 해결할 수 있습니다.

 

첫 번째는 하나는 맨 앞에 r을 붙이는 방법이고, 두 번째 방법은 \ 한 개를 \\ 이렇게 두 개로 수정하는 방법입니다.

  • 원래 경로: font_path = 'C:\Windows\Fonts\NanumBarunGothic.ttf'
  • 1번 방법: : font_path = r'C:\Windows\Fonts\NanumBarunGothic.ttf'
  • 2번 방법: font_path = 'C:\\Windows\\Fonts\\NanumBarunGothic.ttf'

가장 편하게 맨 앞에 r을 붙이는 방법으로 이 문제를 가볍게 해결할 수 있었습니다. 개발에 대해 하나도 모르는 문과 출신이지만, 워낙 구글링을 통해 많은 자료가 있었기에 하나하나 따라 해보고 있습니다.

시스템 환경이 다르다 보니 따라 하는 것도 힘든데요. 이를 응용해보다 보니 워낙 많은 에러가 생기고 있습니다.

이때마다 여러 블로그를 운영하는 다른 개발자 블로거의 포스팅과 댓글로부터 굉장히 도움을 많이 받아서 이를 꾸준히 기록해 나가겠습니다. 이상으로  'unicodeescape' codec can't decode bytes in position 2-3  오류 해결방법을 알아보았습니다.