본문 바로가기
파이썬 데이터분석

[파이썬] (unicode error) 'unicodeescape' codec can't decode bytes

by 데이터스토리 2022. 4. 30.
반응형

위 에러는 변수에 파일위치를 배치한 부분에서 에러가 발생했다.

 

 

 

1. 에러 메세지 상황

 

그림의 하단에 있는 내용은 

 

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

 

이다.

 

"... truncated \UXXXXXXXX..."  -->  \U 이것때문에 유니코드로 인식되기 때문이다.

 

해결은

img = 'C:\Users\taegw\Pictures\workin.png'

 

 

2. 방법 1: 파일명을 표시하는 따옴표 앞에 'r' 붙이기

 

여기에서 파일명을 표시한 따옴표 앞에 r을 붙여준다.

 

img = r'C:\Users\taegw\Pictures\workin.png'

 

에러가 발생하지 않았다.

 

유니코드
유니코드

 

 

 

 

여기서 'r'은 Raw 문자열을 의미하게 하는 것이다. 가공되지 않고 문자 그대로를 사용하라는 뜻이된다.

"\"(벡슬러시)가 이스케이프 문자이기에 이 부분을 무력화 하는 동작이 된다.

아래 코드를 보면 이해가 될 것이다.

>>> print('1\n2\n3\n')

<output>
1
2
3


>>> print(r'1\n2\n3\n')

<output>
1\n2\n3\n

 

 

3. 방법 2: "\"(백슬러시) 두 개 붙여서 사용하기

 

위 방법 외에 다른 방법으로 백슬러시 "\"를 두개 넣어도 된다.

 

처음에는 낯선 문자 표현 방법이지만 자주 보다보면 쉽게 이해가 된다.


img = 'C:\\Users\\taegw\\Pictures\\workin.png'

 

아래 표는 이스케이프 문자이다. 코딩을 하다보면 많이 보게 될 것이다.

(이스케이프 문자: 백슬래시 "\" 다음에 삽입하려는 문자가 오는 것)

 

예를 들어 "\n"은 print문 내장되어 있는 "새로운 라인"으로 넘기는 기능이 된다. 또한 "\t"는 탭으로 분리한다는 문자코드이다.

파이썬 이스케이프 문자

 

 

 

 

 

이스케이프 문자 백스러시('\')를 활용하여 처리한 것이다.

 

두가지 방법 중 하나를 적용하면 된다.

 

파일명 사용에 요긴한 정보가 되었으면 한다.

 

/

 

>> 같이 보기

 

  • [파이썬 데이터분석] - 파이썬 - numpy.argmax 함수
 

파이썬 - numpy.argmax 함수

파이썬 numpy 라이브러리의 argmax 함수는 인자로 들어오는 요소에서 최대값을 return 합니다. 1차원 배열 인수에서 최대값 찾기 1차원 배열입니다. 여기서 최대값을 찾는 방법을 확인해 보겠습니다.

twdatastory.tistory.com

 

  • 데이터 분석 중심 피처 엔지니어링(Feature engineering) - 반복적인 데이터 분석의 중심
 

데이터 분석 중심 피처 엔지니어링(Feature engineering) - 반복적인 데이터 분석의 중심

탐색적 데이터분석 작업의 한 단계로 피처 엔지니어링이 있다. 피처 엔지니어링이 데이터 분석 과정에서 어떤 역할을 하고 왜 중요한지를 살펴 보고자 한다. 1. 피처 엔지니어링(Feature engineering)

twdatastory.tistory.com

 

  • 프로그래밍 변수 variable, 상수 constant, 계수 coefficient 알아보기
 

프로그래밍 변수 variable, 상수 constant, 계수 coefficient 알아보기

파이썬 프로그램을 하다보면 변수, 상수, 계수라는 용어가 나온다. 그 부분을 정리하고 이해하고 넘어가고자 합니다. 변수는 무엇을 말하는지, 상수는 뭔지, 게다가 계수는 무엇인지... 알아보겠

twdatastory.tistory.com

 

 

반응형