การโหลดไฟล์ pickle
ข้อมูลบางประเภทไม่สามารถบันทึกลงในไฟล์แบบ flat file ได้ง่ายนัก เช่น list และ dictionary หากต้องการให้ไฟล์อ่านได้โดยมนุษย์ อาจบันทึกเป็นไฟล์ text ในรูปแบบที่เหมาะสม JSON ซึ่งจะได้เรียนรู้ในบทถัดไปนั้นเหมาะสำหรับ Python dictionary
แต่หากต้องการเพียงแค่นำข้อมูลกลับมาใช้ใน Python ก็สามารถทำ serialization ได้ นั่นคือการแปลงออบเจ็กต์ให้เป็นลำดับของ byte หรือที่เรียกว่า bytestream
ในแบบฝึกหัดนี้ จะได้ import แพ็กเกจ pickle เปิดโครงสร้างข้อมูลที่ถูก pickle ไว้ก่อนหน้าจากไฟล์ แล้วโหลดข้อมูลนั้น
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Python เบื้องต้น: การนำเข้าข้อมูล
คำแนะนำการฝึกหัด
- Import แพ็กเกจ
pickle - กำหนด argument ที่สองของ
open()ให้เป็นโหมดอ่านอย่างเดียวสำหรับไฟล์ binary โดย argument นี้เป็น string ที่ประกอบด้วยตัวอักษรสองตัว ตัวหนึ่งหมายถึง 'อ่านอย่างเดียว' อีกตัวหมายถึง 'binary' - ส่ง argument ที่ถูกต้องให้กับ
pickle.load()โดยใช้ตัวแปรที่ผูกไว้กับopen - แสดงผลข้อมูล
d - แสดงประเภทข้อมูลของ
dโดยนึกถึงการใช้ฟังก์ชันtype()ที่เคยใช้ก่อนหน้านี้
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import pickle package
# Open pickle file and load data: d
with open('data.pkl', ____) as file:
d = pickle.load(____)
# Print d
print(____)
# Print datatype of d
print(____)