아이공의 AI 공부 도전기

Solution : SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

일반적으로 Python에서 다음과 같은 에러가 뜬다면 이유는 2가지입니다.

1. 잘못된 경로 표기법을 사용하였다.

2. 폴더의 경로 이름이 한글이 포함되어 있다.


때문에 이 문제점에 맞게 해결책을 제시해야합니다. 그러나 사실 큰 맥락에서는 두 이유 모두 같은 방법으로 해결이 가능합니다. 두괄식으로 먼저 나타내면 해결법은 아래와 같습니다.


Sol 1. 경로 표기를 "\" 대신에 "\\" 혹은 "/"로 변경한다.

Sol 2. 한글 폴더의 이름을 영어폴더로 사용한다.

설명

보통 한국에서는 운영체제로 Windows를 많이 사용하고 이에 따라 폴더를 열어 절대경로를 구할 때 파일을 열어 그 경로를 클릭하여 사용합니다.


이 때의 경로를 python에 옮기면 다음과 같은 절대경로를 받습니다.


C:\Users\user\Desktop\mirflickr


이는 영어로만 이뤄진 경로에서는 잘 수행될 수 있습니다. 특히나 glob.glob, os.path 혹은 pickle을 활용할 때 이런 경로들이 잘 수행됨을 확인할 수 있습니다.


그러나 만약 절대경로에서 한글 폴더가 들어있는 경우 위 경로는 문제가 될 수 있습니다. 바로 이 때 위 SyntaxError가 생기는 것입니다.

그렇기에 이 때 우리의 해결책한글 폴더를 영문 폴더로 이름을 변경하여 사용하거나 경로 표기법을 바꾸는 것입니다.


가령 예를 들면 다음과 같습니다.


절대경로가 다음과 같을 때 Error를 볼 수 있습니다.

C:\Users\user\Desktop\새 폴더


그러나 이 경로를 \ 대신 \\ 혹은 /로 변경하여 사용해보겠습니다.



SyntaxError가 생기던 것이 사라짐을 확인할 수 있습니다.


공유하기

facebook twitter kakaoTalk kakaostory naver band
loading