Python 피클에 선호되는 (또는 가장 일반적인) 파일 확장자


83

때때로, 나는 보았다 .pickle, .pck, .pcl, 및 .db파이썬 피클을 포함하는 파일을,하지만 가장 일반적인 또는 가장 좋은 방법이 무엇인지 확실입니다. 나는 후자의 세 가지 확장이 다른 것들에도 사용된다는 것을 알고 있습니다.

관련 질문은 REST API를 사용하여 시스템간에 피클을 보내는 데 선호되는 MIME 유형입니다.


3
재미있는 점은 .pkl을 사용한 적이 있다는 것입니다.
idjaw 2016

2
어떤 이유로 이것은 Python 3 문서가 아니라 Python 2 문서에 있으며 pkl-> docs.python.org/2/library/pickle.html#example
idjaw

4
가능한 한 피클을 피하십시오. 문서가 피클 사용에 대해 경고하는 이유가 있습니다. 안전하지 않고 안전하지도 않았으며 안전하지도 않을 것입니다. 대신 json 모듈을 사용하십시오.
KingRadical 2016

@KingRadical 당신은 몇 가지 대안을 줄 수 있습니까?
Rafa Nogales

1
@RafaNogales msgpack 좋은 바이너리 대안 보인다 pypi.org/project/u-msgpack-python
줄리아 - 올리베이라

답변:


96

파이썬 2

로부터 파이썬이 문서 (피클 파일 즉, 쓰기)를 직렬화하는 동안, 사용 :

output = open('data.pkl', 'wb')

.pklPython 2를 사용할 때 확장으로 선택합니다 .

파이썬 3

Python 3 문서 의 예제는 이제 .pickle직렬화를위한 파일 확장자로 사용합니다 .

with open('data.pickle', 'wb') as f:
    pickle.dump(...)

아래 martineau의 의견 에서 피클을 보내는 데 선호되는 MIME 유형 :

응용 프로그램 / 옥텟 스트림

바이트 blob에 사용할 HTTP "콘텐츠 유형"무엇입니까?를 참조하십시오 .


text/plain사용중인 피클 프로토콜에 따라 작동하지 않을 수 있습니다. 프로토콜 버전 0은 ASCII 인 유일한 프로토콜입니다.
martineau 16.11.05

2
즉, application/octet-stream프로토콜에 관계없이 더 나을 것이라고 생각 합니다. 바이트 blob에 사용할 HTTP "콘텐츠 유형"은 무엇입니까?
마티
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.