Python Tutorial

Showing posts with label Python object serialization. Show all posts
Showing posts with label Python object serialization. Show all posts

Tuesday, September 4, 2012

Python object serializing and de-serializing(pickle) example



Another object serialization example code.


 
import pickle

class Student(object):
    marks=None
    def __init__(self,n='name'):
        self.name=n
    def setMark(self,m=0):
        self.marks=m
    def getMark(self):
        return self.marks
    def getName(self):
        return self.name

sa=Student("AJZ")
sa.setMark(10)
pickleData=pickle.dumps(sa) #object serializing 

sb=pickle.loads(pickleData) #object de-serializing
print sb.getName()
print sb.getMark()




Output:
AJZ
10

Python object serialization, pickle



Python pickle supports serializing and de-serializing object. Let's a simple example code


 
import pickle

def pickleWrite(fileName,data):
    f = open(fileName, 'wb')
    pickle.dump(data, f)
    f.close()

def pickleRead(fileName):
    f = open(fileName, 'rb')
    data = pickle.load(f)
    f.close()
    return data

class Student(object):
    marks=None
    def __init__(self,n='name'):
        self.name=n
    def setMark(self,m=0):
        self.marks=m
    def getMark(self):
        return self.marks
    def getName(self):
        return self.name

fiieName='data.pk'

s1=Student("jonycse")
s1.setMark(5)
pickleWrite(fiieName,s1) #object s1 saved on file 'data.pk'




Now pickle object s1 saved on file 'data.pk'. You just need to read the file for getting saved object.
I am using two function named pickleWrite and pickleRead for read write data.

 


#s1=Student("jonycse")
#s1.setMark(5)
#pickleWrite(fiieName,s1)

s2=pickleRead('data.pk')
print s2.getName()
print s2.getMark()



Output:
jonycse
5