본문 바로가기
Python

[Python][Error] 파이썬 에러 - SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

by DANEW 2023. 6. 23.

Intro

안녕하세요

다뉴입니다.

 

오늘은 파이썬 사용시 흔하게 만나는 에러에 대해서 간략하게 정리해볼까합니다.

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

라는 에러 메시지인데요.

 

어떤 에러인지, 또 해결법은 무엇인지 알아보도록하죠.


알아보기

어떤 에러?

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

위 에러는

 

파이썬에서 파일의 경로값을 변수에 저장하고, 해당 변수의 경로 값을 읽을 때 많이 발생합니다.

 

경로에 '\' (역 슬래쉬) 문자가 포함되어있는데요.

해당 문자가 문자열에 문자열의 상태를 변경하거나, 특수문자를 사용할 수 있는

이스케이프 시퀀스(escape sequence)라 그렇습니다.

해결방법

해결방법은 매우 간단한데요.

해당 문자 '\'를 인식 할 수 있도록 '\\'로 변경 해주도록합니다.

 

즉, 경로 문자열을

이전 = 'c\test\python'

변경 = 'c\\test\\python'

 

이런식으로 \ -> \\로 변경해줍니다.

반응형

이스케이프 시퀀스(escape sequence)

Python 이스케이스 시퀀스에 대해서 간략히 정리하고 가도록 하겠습니다.

 

Escape Sequence Comment
\\ 백 슬래시, \
\' 작은 따옴표, Single quote, '
\" 큰 따옴표, Double quote, "
\a 벨, ASCII Bell, BEL
\b 백 스페이스, ASCII Backspace, BS
\f 폼 피드, ASCII Formfeed, FF
\n 줄 바꿈, 개행 문자, ASCII Linefeed, LF
\r 캐리지 리턴, ASCII Carriage Return, CR
\t 탭 문자, ASCII Horizontal Tab, TAB
\v 수직 탭, ASCII Vertical Tab, VT
\ooo \ 뒤에 8진수 숫자를 지정하여 ASCII 코드의 문자 표현
예) '\141' 'a'를 표현
\xhh \ 뒤에 16진수 숫자를 지정하여 ASCII 코드의 문자 표현
예) '\x61' 'a'를 표현
ASCII 코드는 다음 URL 참조
\N{name} { } 안에 문자 이름을 지정하여 유니코드의 문자 표현(파이썬 3.3이상)
예) '\N{LINE FEED}' '\n'을 표현
문자 이름은 다음 URL 참조
\uxxxx \ 뒤에 16비트 16진수 숫자를 지정하여 유니코드의 문자 표현
예) '\u0061' 'a'를 표현
유니코드는 다음 URL 참조
\Uxxxxxxxx \ 뒤에 32비트 16진수 숫자를 지정하여 유니코드의 문자 표현
예) '\U00000061' 'a'를 표현
유니코드는 위 URL과 동일

 


Outro

간략하게 오류에 대해서 알아보았는데요.

가끔 만나는 오류로 아주 쉽게 해결이 가능합니다.

 

이상으로 다뉴였습니다.

감사합니다.

 

반응형