상당한 크기의 텍스트 파일로 작업하고 있습니다. 대부분은 다른 인코딩으로 작성되었습니다. 나는 그 텍스트 파일의 부분 문자열을 포함하는 객체의 목록을 만듭니다. 파일을 열 때 (객체가 올바르게 생성되어 사용될 수 있음) 인코딩 문제를 처리하고 있습니다.피클 및 인코딩 관련 문제
import pickle
pickle.dump(hands, open("handspi.p", "wb"))
그것은 9메가바이트 파일 handspi를 만듭니다
len(hands)
47580
type(hands)
<class 'list'>
type(hands[0])
<class '__main__.BridgeHand'>
이 지금은이 객체를 피클하려고 : 여기 내 목록입니다. 내가 unpickle하려고하면 문제가 시작 :
hh = pickle.load(open(#some path to this pickle file))
스택 트레이스로 끝나는 : 나는 그것에 대해 무엇을 하는가
File "C:\Python31\lib\encodings\cp1252.py", line 23, in decode
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 30: character maps to <undefined>
? 도움을 주셔서 감사합니다.
실제로 오류를 유발하는 정확한 코드 줄을 표시하지 않았습니다. 항상 그렇게하는 것이 좋습니다. 아마도 바이너리 모드 (''rb '')로 파일을 열지는 않았지만 나는 단지 추측 할 수 있습니다. –
예, 고마워요. 그 문제를 해결, 나는 지쳤다 : ( –
Sven 않았다 답변,하지만 그것을 공식화하고 대답으로 게시했습니다. –