ในบทความนี้ เราจะเรียนรู้เกี่ยวกับการดองข้อมูลประเภทต่างๆ ใน Python เราสามารถดองบูลีน จำนวนเต็ม โฟลต ตัวเลขเชิงซ้อน สตริง ทูเปิล รายการ ชุด และพจนานุกรมที่มีวัตถุที่เลือกได้ เอนทิตีบางอย่าง เช่น เครื่องกำเนิดไฟฟ้า คลาสภายในเครื่อง ฟังก์ชันแลมบ์ดาไม่สามารถดองได้
ดองคืออะไร
Pickling เกี่ยวข้องกับวัฏจักรต่อเนื่องของการทำให้เป็นอนุกรมและยกเลิกการซีเรียลไลซ์เอนทิตี Python ของประเภทอ็อบเจ็กต์และโครงสร้างที่เกี่ยวข้อง เรียกอีกอย่างว่า marshalling หรือ flattening สิ่งนี้เกี่ยวข้องกับการแปลงอ็อบเจ็กต์ที่อยู่ในหน่วยความจำให้อยู่ในรูปของไบต์ที่อาจเก็บไว้ในดิสก์หรือส่ง ไปยังเครือข่ายท้องถิ่น
มีข้อจำกัดในการใช้งานหรือไม่
เมื่อเราต้องการแบ่งปันข้อมูลโดยใช้ภาษาโปรแกรมต่างๆ เราไม่แนะนำให้ใช้โมดูล pickle ซึ่งหมายความว่าไม่รับประกันความเข้ากันได้ข้ามแพลตฟอร์ม
การ Pickling สามารถทำได้กับข้อมูลดิบโดยไม่ต้องจัดการไฟล์ ในโมดูลนี้ เราจะเรียนรู้วิธีที่เราสามารถดองข้อมูลดิบลงในไฟล์ไบนารีโดยกระบวนการทำให้เป็นอนุกรม
ตัวอย่าง
# 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'} บทสรุป
ในบทความนี้ เราเรียนรู้ที่จะดองและแกะใน Python 3.x หรือรุ่นก่อนหน้าโดยใช้โมดูลดองในตัว