ในบทความนี้ เราจะเรียนรู้เกี่ยวกับการดองข้อมูลประเภทต่างๆ ใน 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 หรือรุ่นก่อนหน้าโดยใช้โมดูลดองในตัว