Python

Tutorial Python Pickle

Tutorial Python Pickle

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 acar
acar 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 acar
acar 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 acar
acar 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 acar
acar 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 acar
acar 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 acar
acar 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.

Cara Menggunakan Xdotool untuk Merangsang Klik dan Penekanan Tetikus di Linux
Xdotool adalah alat baris arahan sumber terbuka dan bebas untuk mensimulasikan klik dan tekan kekunci tetikus. Artikel ini akan merangkumi panduan rin...
5 Produk Tetikus Komputer Ergonomik Teratas untuk Linux
Adakah penggunaan komputer yang berpanjangan menyebabkan rasa sakit di pergelangan tangan atau jari anda? Adakah anda mengalami sendi kaku dan selalu ...
Cara Mengubah Tetapan Tetikus dan Pad Sentuh Menggunakan Xinput di Linux
Sebilangan besar pengedaran Linux dihantar dengan perpustakaan "libinput" secara lalai untuk menangani peristiwa input pada sistem. Ia dapat memproses...