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
간략하게 오류에 대해서 알아보았는데요.
가끔 만나는 오류로 아주 쉽게 해결이 가능합니다.
이상으로 다뉴였습니다.
감사합니다.
반응형
'Python' 카테고리의 다른 글
[Python] Original error was: DLL load failed while importing _multiarray_umath: 지정된 모듈을 찾을 수 없습니다. (0) | 2023.09.18 |
---|---|
[Python] 파이썬 에러 - TypeError: expected string or bytes-like object (0) | 2023.09.04 |
[python] Tistory Open Api 사용법 3 - 티스토리 자동 포스팅 (14) | 2023.07.31 |
[Python] Tistory Open Api 사용법 2 - Tistory API 인증 요청 (1) | 2023.07.23 |
[Python] Tistory Open Api 사용법 1 - API 등록법 (0) | 2023.07.08 |