반응형
에러 원인
- 파이썬에서 pickel 모듈을 사용할 때, 모듈을 잘못 사용할 경우 나타나는 에러
* pickle 이란
- 파이썬 객체 구조의 직렬화와 역 직렬화를 위한 바이너리 프로토콜 구현.
- 《피클링(pickling)》은 파이썬 객체 계층 구조가 바이트 스트림으로 변환되는 절차
- 《역 피클링(unpickling)》은 반대 연산으로, 바이트 스트림을 객체 계층 구조로 복원하는 절차
- 객체의 형태를 그대로 유지하면서 파일에 저장하고 불러올 수 있게 하는 모듈
- 객체의 형태를 유지하기 때문에 byte 방식으로 저장되며 이럴때는 'wb' 를 open 모듈에 사용해야됨
에러 해결
- 간단했음 dumps --> dump 로 바꾸어줌
* dumps(obj, protocol=None, *, fix_imports=True)
- dumps( ) 는오브젝트를 바이트로 반환하고 이를 리턴해주는 함수
- 즉, 객체 오브젝트의 피클 된 표현을 파일에 쓰는 대신 bytes 객체로 반환
* dump(obj, file, protocol=None, *, fix_imports=True)
- 객체 obj 의 피클 된 표현을 열린 파일 객체 file 에 쓰는 함수
- Pickler(file, protocol).dump(obj) 의 형태와 같이 쓰임
참고 링크
1. 에러 해결
2. pickle이란
docs.python.org/ko/3/library/pickle.html
반응형