바이트 문자열을 읽은 다음 해당 원시 바이트를 출력으로 직접 전송하고 터미널 또는 IDE 콘솔에서 바이트 스트림에 UTF-8로 불법적 인 시퀀스가 포함되어 있다고 불평하고 있습니다.
사용 codecs.open()
유니 코드 데이터로 파일을 읽을 다음, 파이썬은 자동으로 터미널 코덱에 유니 코드 값을 인코딩하자
import codecs
with codecs.open("animals.txt", 'r', encoding='mbcs') as f:
content = f.readlines()
for animal in content:
print animal
직접 파일을 통해 루프 :
import codecs
with codecs.open("animals.txt", 'r', encoding='mbcs') as f:
for animal in f:
print animal
mbcs
인을 Windows ANSI 코드 페이지의 파이썬 이름 :
바람 ows only : ANSI 코드 페이지 (CP_ACP)에 따라 피연산자를 인코딩하십시오.
아마도 다른 Windows 코드 페이지를 의미했을 것입니다. 이 경우 Microsoft의 서유럽 Latin-1 변형에 대해 cp1250
또는 cp1252
과 같은 올바른 cp
코덱을 선택하십시오.
뺨에 응답 혀 - 파이썬 3을 사용하십시오! – rlms
실제로 무슨 일이 일어나는지 보려면 'animals.txt'가 필요합니다. –
파이썬 2.7을 사용하고 있습니다. 파이썬 3으로 변경하면 문제가 해결 될까요? – bolshevik