파일 경로에서 유니 코드 이스케이프에 대한 SyntaxError가 발생하는 이유는 무엇입니까?


105

내가 가고자하는 폴더는 python이고 내 바탕 화면에 있습니다.

도달하려고 할 때 다음 오류가 발생합니다.

>>> os.chdir('C:\Users\expoperialed\Desktop\Python')
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

8
시도 s.chdir(r'C:\Users\expoperialed\Desktop\Python'); 읽기 : docs.python.org/2/reference/…
NullUserException

답변:


168

원시 문자열 을 사용 하거나 슬래시를 두 번 사용하거나 슬래시를 대신 사용해야합니다.

r'C:\Users\expoperialed\Desktop\Python'
'C:\\Users\\expoperialed\\Desktop\\Python'
'C:/Users/expoperialed/Desktop/Python'

일반 파이썬 문자열에서 \U문자 조합은 확장 된 유니 코드 코드 포인트 이스케이프를 나타냅니다.

인식 된 이스케이프 시퀀스 (예 : \a또는 t또는 \x등)에 대해 여러 다른 문제를 해결할 수 있습니다 .


그것은 :( 나에게 도움이되지 않습니다
드미트리

1
@Dmitry 귀하의 의견은 누구에게도 도움이되지 않습니다. 답변이 문제 해결에 도움이되지 못해 죄송합니다. 그 피드백으로 게시물을 어떻게 개선 할 수 있을까요?
Martijn Pieters

아래 내 대답을보십시오.
Dmitry

@Dmitry : 그것은 다른 문제이며 문자열 리터럴과는 거의 관련이 없습니다. raw_unicode_escape코덱 을 다루는 다른 게시물이 사이트에 있습니다 . 특정 패키지에 동일한 예외를 발생시키는 버그가 있다는 것은 실제로이 특정 질문에 대한 답변이 아니므로 다시 삭제했습니다 (커뮤니티에서 이미 삭제 했음). 특정 버그를 해결하는 더 좋은 방법이 있다고 생각합니다 (예 : raw_unicode_escape처음 에 사용해야하는 지점에 도달하지 못함 ).
Martijn Pieters

10

C:\\Users\\expoperialed\\Desktop\\Python 이 구문은 저에게 효과적이었습니다.


7

이것은 일반적으로 Python 3에서 발생합니다. 일반적인 이유 중 하나는 파일 경로를 지정하는 동안 "\"대신 "\\"가 필요하기 때문입니다. 에서와 같이 :

filePath = "C:\\User\\Desktop\\myFile"

Python 2의 경우 "\"만 사용하면됩니다.


5
f = open('C:\\Users\\Pooja\\Desktop\\trolldata.csv')

Python 버전 3 이상에서 Python 프로그램에는 '\\'를 사용합니다. 오류가 해결됩니다 ..


왜 트리플`\`? 오타를 수정 하시겠습니까? 이제 게시물 기록이 표시되고 누군가가 형식을 신중하게 수정하지 않았으므로 수정했습니다. SO 기능에 익숙해 지십시오 .
Marek R

1

세 가지 구문 모두 매우 잘 작동합니다.

또 다른 방법은

path = r'C : \ user \ ................... '(당신을위한 경로는 무엇이든)

그런 다음 os.chdir (path)에 전달하십시오.


0

이것을 사용하십시오

os.chdir('C:/Users\expoperialed\Desktop\Python')

-1

나는 같은 오류가 있었다. 기본적으로 "C : \"뒤에 "U"또는 "User"로 경로를 시작할 수 없다고 생각합니다. 파이썬에서 접근하고자하는 파일을 'c : \'경로 바로 아래에 두어 내 디렉토리를 "c : \ file_name.png"로 변경했습니다.

귀하의 경우 "python"폴더에 액세스해야한다면 아마도 파이썬을 다시 설치하고 설치 경로를 "c : \ python"과 같은 것으로 변경하십시오. 그렇지 않으면 경로에서 "... \ User ..."를 피하고 프로젝트를 C : 아래에 두십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.