Search code examples
pythonrestfilenamesmime-typespickle

Preferred (or most common) file extension for a Python pickle


At times, I've seen .pickle, .pck, .pcl, and .db for files that contain Python pickles, but I am unsure what is the most common or best practice. I know that the latter three extensions are also used for other things.

The related question is: What MIME type is preferred for sending pickles between systems using a REST API?


Solution

  • Python 2

    From the Python 2 documentation, while serializing (i.e. writing to a pickle file), use:

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

    I would choose .pkl as the extension when using Python 2.

    Python 3

    The example in the Python 3 documentation now uses .pickle as the file extension for serialization:

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

    The MIME type preferred for sending pickles from martineau's comment below:

    application/octet-stream

    See What is the HTTP "content-type" to use for a blob of bytes?