>  기사  >  백엔드 개발  >  텍스트 파일을 반복할 때 UnicodeDecodeError를 해결하는 방법은 무엇입니까?

텍스트 파일을 반복할 때 UnicodeDecodeError를 해결하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-03 11:30:29649검색

How to Resolve UnicodeDecodeError When Iterating Through Text Files?

"for line in..." 반복자로 UnicodeDecodeError 문제 해결

텍스트 파일 작업 시 개발자는 종종 "for line"과 같은 반복자를 사용합니다. in..."을 사용하여 파일의 각 줄을 읽고 처리합니다. 그러나 때로는 이로 인해 실망스러운 UnicodeDecodeError가 발생할 수 있습니다.

문제:

다음 코드를 고려하세요.

<code class="python">for line in open('u.item'):
    # Read each line</code>

위 코드를 실행할 때 , 다음 오류가 발생할 수 있습니다.

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 2892: invalid continuation byte

이 오류는 Python이 UTF-8 인코딩을 사용하여 파일의 바이트를 해석하려고 시도했지만 UTF-8 표준을 따르지 않는 바이트를 발견했을 때 발생합니다. .

해결책:

이 문제에 대한 해결책은 파일의 올바른 인코딩을 결정하는 데 있습니다. 이 경우 파일은 UTF-8과 다른 문자 인코딩 방식인 ISO-8859-1로 인코딩됩니다.

오류를 수정하려면 파일을 열 때 인코딩을 지정하세요.

<code class="python">for line in open('u.item', encoding='ISO-8859-1'):
    # Read each line</code>

'utf-8'의 기본 인코딩을 'ISO-8859-1'로 바꾸면 올바른 문자 인코딩을 사용하여 파일의 바이트를 디코딩하여 UnicodeDecodeError를 해결합니다.

위 내용은 텍스트 파일을 반복할 때 UnicodeDecodeError를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.