Pengembang Python ingin menyimpan objek data seperti daftar, kamus, tupel, dan kelas ke dalam file. Dalam situasi ini, modul acar Python ikut bermain.
Pickle adalah modul built-in Python yang digunakan untuk membuat serial dan deserializing struktur objek Python. Serialisasi adalah proses mengubah objek Python menjadi aliran byte (0 dan 1). Ini juga dikenal sebagai acar. Tujuan dari proses pengawetan adalah untuk menyimpan objek Python pada disk dalam bentuk aliran byte. Objek acar Python dapat diubah kembali menjadi objek Python, dan proses ini dikenal sebagai unpickling atau deserialisasi.
Pengawetan Python berguna ketika kita harus menyimpan status objek Python dan melakukan tugas analisis data. Misalnya, ketika kami bekerja dengan algoritme pembelajaran mendalam, dan kami ingin menggunakannya di lain waktu. Dalam kondisi ini, kami dapat menyimpannya di disk untuk penggunaan nanti. Namun, pengawetan bukanlah pilihan yang baik ketika kami bekerja dengan berbagai bahasa pemrograman. Objek acar tidak dapat dihapus dalam bahasa pemrograman lain, karena tidak memiliki dukungan lintas bahasa. Objek yang diasamkan dengan Python, mungkin hanya diawetkan dengan Python juga. Hal yang sama berlaku untuk versi Python yang berbeda; objek yang diasamkan dalam versi Python tertentu, mungkin tidak diasamkan dengan benar di versi lain. Untuk melakukan proses pickling dan unpickling, pertama, kita perlu mengimpor modul pickle dalam skrip Python kita.
Dalam artikel ini, kita akan belajar menggunakan modul acar Python untuk melakukan pengawetan dan pembongkaran dengan contoh.
Contoh Acar Python
Mari kita lihat beberapa contoh untuk memahami proses pengawetan Python. Sebelum melakukan operasi pengawetan, kita perlu membuka file dalam mode penulisan. File harus dibuka dalam mode biner, karena objek acar disimpan dalam aliran byte. dump() adalah fungsi dari modul acar yang digunakan untuk membuat acar. Dibutuhkan dua argumen, i.e., objek Python yang akan diasamkan dan file tempat objek acar akan disimpan.
Contoh 1: Acar daftar
Dalam contoh yang diberikan, kami telah membuat daftar angka dan mengasinkannya menggunakan acar.fungsi dump().
#mengimpor modul acaracar impor
#mendeklarasikan daftar angka
num_list = [1,2,3,4,5,6]
#acar daftar dan simpan dalam file
listfile = buka('daftarPickle','wb')
acar.dump(num_list,listfile)
daftar file.Menutup()
print("Daftar acar berhasil dibuat.")
Keluaran
Outputnya menunjukkan bahwa daftar tersebut berhasil diasamkan.
Contoh 2: Acar kamus
Sekarang, mari kita acar objek kamus Python. Kamus siswa dibuat dan diasamkan menggunakan acar.fungsi dump().
#mengimpor modul acaracar impor
#mendeklarasikan kamus siswa
std_dict = 'name':'John','age':22,'class':'BS'
#mengambil kamus dan menyimpannya dalam sebuah file
dictfile = buka('dictPickle','wb')
acar.dump(std_dict,dictfile)
dictfile.Menutup()
print("Kamus berhasil diasamkan.")
Keluaran
Outputnya menunjukkan bahwa kamus berhasil diasamkan.
Contoh 3: Acar sebuah tuple
Sekarang, mari kita acar objek tupel Python. Objek tuple dibuat dan diasamkan menggunakan acar.fungsi dump().
#mengimpor modul acaracar impor
#mendeklarasikan sebuah tuple
my_tuple = ((1,1),(2,2),(3,3),(4,4))
#mengambil kamus dan menyimpannya dalam sebuah file
tuplefile = buka('tuplePickle','wb')
acar.dump(my_tuple,tuplefile)
file tuple.Menutup()
print("Tuple berhasil diasamkan.")
Keluaran
Outputnya menunjukkan bahwa objek Tuple berhasil diasamkan.
Baik! Itu semua tentang pengawetan objek Python yang berbeda.
Contoh Pembongkaran Python
Sekarang, mari kita lihat beberapa contoh untuk proses unpickling Python. Kami akan membongkar semua objek Python yang telah kami acar di contoh sebelumnya. Dalam proses unpickling, file acar dibuka dalam mode membaca. acar.load() fungsi digunakan untuk membongkar objek Python. Objek file dilewatkan sebagai argumen ke acar.memuat () fungsi.
Contoh 1: Hapus daftar
Objek daftar acar tidak diawetkan dan ditetapkan ke objek daftar baru.
#mengimpor modul acaracar impor
#membuka file listPickle dalam mood membaca
pickle_in = buka('daftarPickle','rb')
#unpickling daftar dan menetapkan ke objek daftar
num_list = acar.beban (acar_in)
cetak(nomor_daftar)
Keluaran
Contoh 2: Buka acar kamus
Objek kamus siswa yang diasamkan tidak diasamkan dan ditetapkan ke objek kamus baru.
#mengimpor modul acaracar impor
#membuka file dictPickle dalam mood membaca
pickle_in = buka('dictPickle','rb')
#membongkar dict dan menugaskan ke objek kamus
std_dict = acar.beban (acar_in)
cetak(std_dict)
Keluaran
Contoh 3: Unpickle a tupleOutput
Objek tuple acar tidak diawetkan dan ditugaskan ke objek tuple baru.
#mengimpor modul acaracar impor
#membuka file tuplePickle dalam mood membaca
pickle_in = buka('tuplePickle','rb')
#unpickling Tuple dan menugaskan ke objek kamus
std_dict = acar.beban (acar_in)
cetak(std_dict)
Keluaran
Kesimpulan
Pickle adalah modul bawaan Python yang digunakan untuk melakukan operasi serialisasi dan deserialisasi. Serialisasi dan deserialisasi juga dikenal sebagai pengawetan dan penguraian, masing-masing. Melalui pengawetan, kita dapat menyimpan objek Python dalam bentuk aliran byte dan kemudian mengambilnya kembali. Proses unpickling mengacu pada mengubah objek acar menjadi objek Python. Artikel ini menjelaskan proses pengawetan dan penguraian dengan contoh.