Cara Menggunakan Acar untuk Menyimpan Objek dengan Python

click fraud protection

Pickle, yang merupakan bagian dari pustaka Python secara default, adalah modul penting setiap kali Anda membutuhkan kegigihan di antara sesi pengguna. Sebagai modul, acar menyediakan untuk menyimpan objek Python antara proses.

Apakah Anda sedang memprogram untuk basis data, permainan, forum, atau aplikasi lain yang harus menyimpan informasi antar sesi, acar berguna untuk menyimpan pengidentifikasi dan pengaturan. Modul acar dapat menyimpan hal-hal seperti tipe data seperti boolean, string, dan byte array, daftar, kamus, fungsi, dan banyak lagi.

catatan: Konsep pengawetan juga dikenal sebagai serialisasi, marshaling, dan perataan. Namun, intinya selalu sama — untuk menyimpan objek ke file untuk pengambilan nanti. Pickling menyelesaikan ini dengan menulis objek sebagai satu aliran panjang byte.

Kode Contoh Acar dalam Python

Untuk menulis objek ke file, Anda menggunakan kode dalam sintaks berikut:

impor acar 
object = Object ()
filehandler = buka (nama file, 'w')
pickle.dump (objek, pembuat file)
instagram viewer

Begini cara contoh dunia nyata terlihat:

impor acar 
impor matematika
object_pi = math.pi
file_pi = terbuka ('filename_pi.obj', 'w')
pickle.dump (object_pi, file_pi)

Cuplikan ini menulis konten object_pi ke file file_pi penangan, yang pada gilirannya terikat ke file filename_pi.obj dalam direktori eksekusi.

Untuk mengembalikan nilai objek ke memori, muat objek dari file. Dengan asumsi bahwa acar belum diimpor untuk digunakan, mulailah dengan mengimpornya:

impor acar 
filehandler = buka (nama file, 'r')
object = pickle.load (filehandler)

Kode berikut mengembalikan nilai pi:

impor acar 
file_pi2 = terbuka ('filename_pi.obj', 'r')
object_pi2 = pickle.load (file_pi2)

Objek kemudian siap digunakan sekali lagi, kali ini sebagai object_pi2. Anda dapat, tentu saja, menggunakan kembali nama aslinya, jika Anda mau. Contoh ini menggunakan nama yang berbeda untuk kejelasan.

Hal yang Harus Diingat Tentang Acar

Ingatlah hal-hal ini saat menggunakan modul acar:

  • Protokol acar khusus untuk Python - tidak dijamin kompatibel lintas bahasa. Anda kemungkinan besar tidak dapat mentransfer informasi untuk membuatnya berguna dalam Perl, PHP, Java, atau bahasa lainnya.
  • Juga tidak ada jaminan kompatibilitas antara berbagai versi Python. Ketidakcocokan ini ada karena tidak setiap struktur data Python dapat diserialisasi oleh modul.
  • Secara default, versi terbaru dari protokol acar digunakan. Tetap seperti itu kecuali jika Anda mengubahnya secara manual.

Tip: Temukan juga cara menggunakan rak untuk menyimpan objek dalam Python untuk metode lain untuk menjaga kelangsungan objek.

instagram story viewer