Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is pickle file of python cross-platform?

Tags:

I have created a small python script of mine. I saved the pickle file on Linux and then used it on windows and then again used it back on Linux but now that file is not working on Linux but it is working perfectly on windows. Is is so that python is coss-platform but the pickle file is not. Is there any solution to this one???

like image 536
vikithakar Avatar asked Dec 04 '09 20:12

vikithakar


People also ask

What is a python pickle file?

Pickle in Python is primarily used in serializing and deserializing a Python object structure. In other words, it's the process of converting a Python object into a byte stream to store it in a file/database, maintain program state across sessions, or transport data over the network.

Is pickle only for Python?

As mentioned above, the pickle module is Python-specific, and the result of a pickling process can be read only by another Python program. But even if you're working with Python, it's important to know that the pickle module has evolved over time.

What type of file is pickle?

File created by pickle, a Python module that allows objects to be serialized to files on disk and deserialized back into the program at runtime; saves a byte stream that represents the objects; more often uses the . P extension rather than ". pickle."

What is use of import pickle in Python?

Pickle is used for serializing and de-serializing Python object structures, also called marshalling or flattening. Serialization refers to the process of converting an object in memory to a byte stream that can be stored on disk or sent over a network.


1 Answers

Python's pickle is perfectly cross-platform.

This is likely due to EOL (End-Of-Line) differences between Windows and Linux. Make sure to open your pickle files in binary mode both when writing them and when reading them, using open()'s "wb" and "rb" modes respectively.

Note: Passing pickles between different versions of Python can cause trouble, so try to have the same version on both platforms.

like image 149
taleinat Avatar answered Oct 04 '22 02:10

taleinat