Pembangun Python ingin menyimpan objek data seperti senarai, kamus, tupel, dan kelas ke dalam fail. Dalam keadaan ini, modul Python pickle dimainkan.
Pickle adalah modul bawaan Python yang digunakan untuk membuat siri dan mendeserialisasi struktur objek Python. Serialisasi adalah proses menukar objek Python menjadi aliran bait (0 dan 1). Ia juga dikenali sebagai acar. Tujuan proses pengambilan adalah untuk menyimpan objek Python pada cakera dalam bentuk aliran bait. Objek acar Python dapat ditukarkan kembali menjadi objek Python, dan proses ini dikenali sebagai tidak memilih atau deserialisasi.
Pengambilan Python berguna apabila kita harus menyelamatkan keadaan objek Python dan melakukan tugas analisis data. Contohnya, semasa kita bekerja dengan algoritma pembelajaran mendalam, dan kita mahu menggunakannya untuk kemudian hari. Dalam keadaan ini, kita dapat menyimpannya di cakera untuk penggunaan kemudian. Walau bagaimanapun, pengambilan adalah bukan pilihan yang baik ketika kita bekerja dengan pelbagai bahasa pengaturcaraan. Objek acar tidak dapat dipilih dari bahasa pengaturcaraan lain, kerana tidak mempunyai sokongan silang bahasa. Objek yang diawetkan di Python, mungkin juga tidak dipetik di Python. Perkara yang sama berlaku untuk versi Python yang berbeza; objek yang dijemput dalam versi Python tertentu, mungkin tidak dipetik dengan betul dalam versi lain. Untuk melakukan proses pengambilan dan pembongkaran, pertama, kita perlu mengimport modul acar dalam skrip Python kita.
Dalam artikel ini, kita akan belajar menggunakan modul acar Python untuk melakukan pengambilan dan pembongkaran dengan contoh.
Contoh Python Pickling
Mari kita lihat beberapa contoh untuk memahami proses pengambilan Python. Sebelum menjalankan operasi pengambilan, kita perlu membuka fail dalam mod penulisan. Fail mesti dibuka dalam mod binari, kerana objek acar disimpan dalam aliran bait. Dump () adalah fungsi dari modul acar yang digunakan untuk membuat acar. Ia memerlukan dua hujah, i.e., objek Python yang akan dijemput dan fail di mana objek yang dijemput akan disimpan.
Contoh 1: Pilih senarai
Dalam contoh yang diberikan, kami telah membuat senarai nombor dan memilihnya menggunakan acar.lambakan () fungsi.
#mengimport modul acaracar import
#menyatakan senarai nombor
num_list = [1,2,3,4,5,6]
#menarik senarai dan menyimpan dalam fail
listfile = terbuka ('listPickle', 'wb')
acar.lambakan (num_list, listfile)
senarai nama.tutup ()
cetak ("Acar senarai berjaya dibuat.")
Pengeluaran
Hasilnya menunjukkan bahawa senarai berjaya diambil.
Contoh 2: Pilih kamus
Sekarang, mari pilih objek kamus Python. Kamus pelajar dibuat dan dijemput menggunakan acar.lambakan () fungsi.
#mengimport modul acaracar import
#menyatakan kamus pelajar
std_dict = 'name': 'John', 'age': 22, 'class': 'BS'
#memetik kamus dan menyimpan dalam fail
dictfile = terbuka ('dictPickle', 'wb')
acar.lambakan (std_dict, dictfile)
diktil.tutup ()
cetak ("Kamus berjaya dipetik.")
Pengeluaran
Hasilnya menunjukkan bahawa kamus berjaya dijemput.
Contoh 3: Jemput tupel
Sekarang, mari kita ambil objek tuple Python. Objek tuple dibuat dan dijemput menggunakan acar.lambakan () fungsi.
#mengimport modul acaracar import
#menyatakan tupel
my_tuple = ((1,1), (2,2), (3,3), (4,4))
#memetik kamus dan menyimpan dalam fail
tuplefile = terbuka ('tuplePickle', 'wb')
acar.membuang (my_tuple, tuplefile)
tuplefile.tutup ()
cetak ("tuple berjaya dijemput.")
Pengeluaran
Output menunjukkan bahawa objek tuple berjaya dijemput.
Baiklah! Itu semua mengenai pengambilan benda Python yang berbeza.
Contoh Python Unpickling
Sekarang, mari kita lihat beberapa contoh untuk proses pengambilan Python. Kami akan membongkar semua objek Python yang telah kami pilih dalam contoh sebelumnya. Dalam proses pembongkaran, fail yang dijemput dibuka dalam mod membaca. Acar.fungsi load () digunakan untuk membongkar objek Python. Objek fail disampaikan sebagai argumen ke acar.beban () fungsi.
Contoh 1: Jangan pilih senarai
Objek senarai acar tidak dipilih dan ditugaskan ke objek senarai baru.
#mengimport modul acaracar import
#membuka senaraiPickle file dalam mood membaca
pickle_in = terbuka ('listPickle', 'rb')
#pilih senarai dan tetapkan ke objek senarai
num_list = acar.memuatkan (pickle_in)
cetak (senarai nama)
Pengeluaran
Contoh 2: Tidak memilih kamus
Objek kamus pelajar acar tidak dipilih dan ditugaskan ke objek kamus baru.
#mengimport modul acaracar import
#membuka failictPickle dalam suasana membaca
pickle_in = terbuka ('dictPickle', 'rb')
#munculkan perintah dan menetapkan ke objek kamus
std_dict = acar.memuatkan (pickle_in)
cetak (std_dict)
Pengeluaran
Contoh 3: Tidak memilih tupleOutput
Objek tuple acar tidak dipetik dan ditugaskan ke objek tuple baru.
#mengimport modul acaracar import
#membuka fail tuplePickle dalam suasana membaca
pickle_in = terbuka ('tuplePickle', 'rb')
#munculkan tuple dan menetapkan ke objek kamus
std_dict = acar.memuatkan (pickle_in)
cetak (std_dict)
Pengeluaran
Kesimpulannya
Pickle adalah modul bawaan Python yang digunakan untuk melakukan operasi serialisasi dan deserialisasi. Serialisasi dan deserialisasi juga masing-masing dikenal sebagai pickling dan unsickling. Melalui pengawetan, kita dapat menyimpan objek Python dalam bentuk aliran bait dan kemudian mengambilnya. Proses membongkar merujuk kepada menukar objek acar menjadi objek Python. Artikel ini menerangkan proses pengambilan dan pembongkaran dengan contoh.