스택큐힙리스트

"유니코드 오류 "unicodeescape" 코덱이 바이트를 디코딩할 수 없습니다... Python 3에서 텍스트 파일을 열 수 없습니다 [중복]" 본문

카테고리 없음

"유니코드 오류 "unicodeescape" 코덱이 바이트를 디코딩할 수 없습니다... Python 3에서 텍스트 파일을 열 수 없습니다 [중복]"

스택큐힙리스트 2023. 4. 3. 15:45
반응형

이 질문에는 이미 대답이 있습니다:

How should I write a Windows path in a Python string literal?

1. 한국어로 번역해주세요. (hangugeo-ro beonyeokhaejuseyo)

2. 한국말로 바꿔주세요. (han-guk-mallo bakkweojuseyo)

3. 한글로 번역해주세요. (hangul-ro beonyeokhaejuseyo)

4. 한국어로 바꾸어 주세요. (hangugeo-ro bakkueo juseyo)

5. 한국어 번역 부탁드립니다. (hangugeo beonyeok butakdeurimnida)

3년 전에 종료되었습니다.

작년 커뮤니티에서 이 질문을 다시 여는 것에 대해 검토하고, 닫혀있게 놔뒀습니다.

초기에 설정된 종료 이유가 해결되지 않았습니다.

저는 윈도우 7 기계에서 Python 3.1을 사용하고 있습니다. 기본 시스템 언어는 러시아어이며, 기본 인코딩은 utf-8입니다.

previous question에 대한 대답을 보면, codecs 모듈을 사용하여 약간의 운을 가져보려고 시도해 보았습니다. 여기 몇 가지 예시입니다.

>>> g = codecs.open(C:\Users\Eric\Desktop\beeline.txt, r, encoding=utf-8)

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

>>> g = codecs.open(C:\Users\Eric\Desktop\Site.txt, r, encoding=utf-8)

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

>>> g = codecs.open(C:\Python31\Notes.txt, r, encoding=utf-8)

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 11-12: malformed \N character escape (, line 1)

>>> g = codecs.open(C:\Users\Eric\Desktop\Site.txt, r, encoding=utf-8)

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

내 마지막 아이디어는 윈도우가 users 폴더와 같은 몇몇 폴더를 러시아어로 번역 할 수 있다는 것이었다는 것이다 (하지만 users를 입력하는 것이 여전히 올바른 경로임). 그래서 Python31 폴더에서 시도해 봤지만 여전히 운이 나빴다. 어떤 아이디어가 있나요?

답변 1

문제는 문자열입니다.

C:\Users\Eric\Desktop\beeline.txt

여기서, \U은 C:\Users에 있는 여덟 글자의 유니코드 이스케이프를 시작합니다. 예를 들어 \U00014321와 같습니다. 코드에서 해당 이스케이프 뒤에는 유효하지 않은 문자 's'가 따라옵니다.

모든 백슬래시를 중복으로 하나 더 작성해야합니다.

C:\\Users\\Eric\\Desktop\\beeline.txt

또는 문자열 앞에 r (r) 접두어를 넣으세요 (원시 문자열 생성).

rC:\Users\Eric\Desktop\beeline.txt

답변 2

유니코드 오류 unicodeescape 코덱은 바이트를 디코드할 수 없습니다... Python 3에서 텍스트 파일을 열 수 없습니다 [중복]

Python 3에서 텍스트 파일을 열 때 발생하는 유니코드 오류에 대해 알아봅시다. 이 오류는 unicodeescape 코덱이 바이트를 디코드 할 수 없다는 메시지가 나타납니다. 이 문제를 해결하려면 몇 가지 단계를 거쳐야 합니다.

문제는 일반적으로 파일 경로를 인코딩하는 방식이 올바르지 않기 때문에 발생합니다. 파일 경로는 파일 시스템에서 중요한 위치를 나타내므로 인코딩이 올바르지 않으면 파일을 찾을 수 없습니다.

해결책은 파일 경로의 인코딩을 수정하는 것입니다. 파일 경로의 인코딩은 해당 운영 체제에 따라 다를 수 있습니다. Windows, Mac 또는 Linux에서 실행하는 경우, 올바른 인코딩을 사용하는지 확인해야 합니다.

또한 Python 3에서는 텍스트 파일을 열 때 다른 코덱을 사용해야 합니다. 일반적으로 UTF-8 코덱을 사용하는 것이 좋습니다. UTF-8은 유니코드를 지원하는 가장 일반적인 코덱 중 하나입니다.

최종적으로, 이 문제를 해결하는 데 도움이 될 수 있는 몇 가지 도구가 있습니다. 예를 들어, Python os 모듈의 path 모듈을 사용하여 올바른 파일 경로를 생성할 수 있습니다. 또한 io 라이브러리를 사용하여 텍스트 파일을 열 수 있습니다.

이러한 단계를 따르면 Python 3에서 텍스트 파일을 성공적으로 열 수 있습니다. 이 문제를 해결하는 것은 프로그래밍 작업에 필수적인 능력이며, 이를 기억하여 오류 메시지를 이해하고 해결할 수 있도록 노력해야 합니다.

반응형
Comments