Selasa, 23 Desember 2014

Serialisasi dan deserialisasi di python



Kasus yang melibatkan type data bersifat multidimensi seperti misalkan pada kasus machine learning yang menghasilkan sebuah bobot dalam bentuk matrix, 

hal ini tentu akan menyulitkan jika disimpan dalam bentuk database relational, tentu kita harus menyiapkan type data berupa struct, array, dan lainnya. Dalam python hal tersebut bisa menggunakan pickle
Ada beberapa catatan penting mengenai pickle 
In Python 2, you can speed up your pickle access with cPickle. (In Python3, importing pickle will automatically use the accelerated version if it is available.)
Kamu bisa menggunakan pickle ataupun cPickle. Tapi ingat, ketika menerima data berformat biner (serialisasi di python) sebuah dari jaringan, kamu harus hati-hati karena bisa juga berisikan kode jahat!
Pickle files can be hacked. If you receive a raw pickle file over the network, don't trust it! It could have malicious code in it, that would run arbitrary python when you try to de-pickle it.
Disini tidak membahas mengenai pickle akan tetapi menggunakan pickle untuk menyimpan sebuah data. 

Contoh



#tutorial untuk serialisasi dan deserialisasi
import pickle as pc
import numpy as np

print '\n' *100 #bersihkan layar

a = np.array([[1,2,3],[4,5,6]]);

fileName = 'D:/data.objek'
fileObj = open(fileName,'wb')
pc.dump(a,fileObj)

fileObj.close()

fileObj2 = open(fileName,'r')
b = pc.load(fileObj2)
print 'data b ', b     
 



Kasus diatas, penulis menggunakan library numpy sebagai contoh saja yaitu untuk menulis dan membaca kembali lagi, tentu itu kasus kecil, kamu bisa menyimpan sebuah class atau object yang lainnya dalam python

Referensi

Posting Komentar