0
text_file = open("university_towns.txt")
State = {idx: lines.decode('utf-8').strip().replace("[edit]", "")
for idx,lines in enumerate(text_file) if "edit" in lines}
위치에 바이트 0xe2을 디코딩 할 수 없습니다 내가 파이썬 3.5 사용하고'아스키'코덱은 내 코드에서 오류가 발생 6723 파이썬 3.5
'ascii' codec can't decode byte 0xe2 in position 6723
.
파이썬이 파이썬 3! ? –
6723 바이트가 올바른 유니 코드가 아닌 것 같습니다. 'errors = 'ignore'를'decode()'에 건네면 도움이 될 것입니다. –
파이썬 3.x에서는 인코딩을 지정하지 않았기 때문에'sys.getdefaultencoding()'이 말하는 모드로 파일을 열었습니다. 'lines.decode ('utf-8')'는 유효하지 않습니다. 왜냐하면 3.x 문자열에는'decode' 메쏘드가 없으므로 그렇게 멀리 가지 않았거나 다른 오류가있었습니다. 내 생각 엔 문제는'enumerate (text_file)'에있다. 그러나 그것은 기본 인코딩이'ascii'라는 것을 의미한다. 파일을 한 줄씩 읽고 오류를 일으키는 지 확인할 수 있습니다. – tdelaney