এই নিবন্ধে, আমরা পাইথনে বিভিন্ন ধরনের ডেটা পিকলিং সম্পর্কে শিখব। আমরা বুলিয়ান, পূর্ণসংখ্যা, ফ্লোট, জটিল সংখ্যা, স্ট্রিং, টুপলস, তালিকা, সেট এবং অভিধানগুলিকে আচার করতে পারি যাতে বাছাইযোগ্য বস্তু রয়েছে। কিছু সত্তা যেমন জেনারেটর, অভ্যন্তরীণ স্থানীয় ক্লাস, ল্যাম্বডা ফাংশন আচার করা যাবে না।
আচার কি?
পিকলিং বস্তুর ধরন এবং সম্পর্কিত কাঠামোর পাইথন সত্তাকে সিরিয়ালাইজিং এবং ডি-সিরিয়ালাইজ করার একটি ক্রমাগত চক্র জড়িত, যাকে মার্শালিং বা ফ্ল্যাটেনিংও বলা হয়। এতে মেমরিতে অবস্থিত একটি বস্তুকে বাইটের আকারে রূপান্তর করা জড়িত যা ডিস্কে সংরক্ষিত বা পাঠানো যেতে পারে। একটি স্থানীয় নেটওয়ার্কে।
এর ব্যবহারে সীমাবদ্ধতা?
যখন আমরা বিভিন্ন প্রোগ্রামিং ভাষা ব্যবহার করে ডেটা ভাগ করতে চাই, তখন আচার মডিউল ব্যবহার পছন্দ করা হয় না। এর মানে ক্রস-প্ল্যাটফর্ম সামঞ্জস্যের নিশ্চয়তা নেই।
ফাইল হ্যান্ডলিং ছাড়াই কাঁচা ডেটাতে পিকলিং করা যেতে পারে৷ এই মডিউলে, আমরা শিখব কীভাবে আমরা সিরিয়ালাইজেশন প্রক্রিয়ার মাধ্যমে বাইনারি ফাইলগুলিতে কাঁচা ডেটা সংগ্রহ করতে পারি৷
উদাহরণ
# Python pickling
import pickle as pk
def learnData():
# data to be stored in database
dict_1 = {'tutorial':'point','Python':'3.x'}
dict_2 = {'Data
structure':'dictionary','pickling':'serialization'}
# database
db = {}
db['1'] = dict_1
db['2'] = dict_2
# binary file open using filepointer in append mode
fp = open('Newfile', 'ab')
# source, destination
pk.dump(db, fp)
fp.close()
def displayData():
# binary file open using filepointer in read mode
fp = open('Newfile', 'rb')
db = pk.load(fp)
for i in db:
print(i, '=>', db[i])
fp.close()
if __name__ == '__main__':
learnData()
displayData() আউটপুট
dict_1 = {'tutorial':'point','Python':'3.x'}
dict_2 = {'Data structure':'dictionary','pickling':'serialization'} উপসংহার
এই নিবন্ধে, আমরা পাইথন 3.x-এ আচার ও পিকল করতে শিখেছি। অথবা আগে বিল্ট-ইন আচার মডিউল ব্যবহার করে।