Cara mengasinkan objek dengan Python

How Pickle Objects Python



Data apa pun dapat diserialisasi dan dideserialisasi dengan Python dengan menggunakan modul JSON dan Pickle. Sebelum menyimpan data apa pun dalam file, objek Python diserialisasi menggunakan modul pickle. Objek Python diubah menjadi aliran karakter dengan menggunakan modul ini. Ketika pengguna ingin mengambil data file untuk menggunakan skrip python lain maka data file tersebut di-deserialized oleh modul pickle. Fitur modul acar dan bagaimana modul ini dapat digunakan dalam skrip python untuk serialisasi dan deserialisasi dijelaskan dalam tutorial ini.

Fitur Acar:

  • Ini terutama dirancang untuk digunakan untuk skrip Python.
  • Ini digunakan untuk menyimpan objek python di antara proses.
  • Itu melacak semua objek bersambung dan objek yang diserialisasi sebelumnya tidak akan bersambung lagi.
  • Itu dapat menyimpan dan memulihkan instance kelas secara transparan.
  • Tidak aman untuk digunakan. Jadi, tidak lebih baik untuk membongkar data dari sumber yang tidak dikenal.

dump() untuk serialisasi:

fungsi dump() digunakan untuk mengubah data objek menjadi aliran karakter sebelum disimpan dalam file. Fungsi ini dapat mengambil tiga argumen. Dua argumen pertama bersifat wajib dan argumen terakhir bersifat opsional. Argumen pertama mengambil objek data yang perlu dibuat serial. Argumen kedua mengambil objek file handler dari file itu di mana data pckled akan disimpan. Argumen terakhir mengambil nama protokol.







Sintaksis:



membuang(data_objek,file_objek, [protokol])

load() untuk deserialisasi:

load() fungsi digunakan untuk mengubah data aliran karakter dari file menjadi objek Python. Fungsi ini hanya berisi satu argumen dan objek file handler dari file lewat sebagai nilai argumen dari mana data akan diambil.



Sintaksis:





memuat(file_objek)

Acar Objek sederhana untuk disimpan dalam file

Buat file bernama acar1.py dengan skrip python berikut. Dalam skrip berikut, objek data bernama objek data dideklarasikan untuk menyimpan lima nama bahasa dengan mengulangi perulangan for. Selanjutnya, metode open() digunakan untuk menetapkan penangan file untuk membuat file biner bernama bahasa. membuang() fungsi digunakan di sini untuk membuat serial data dari objek data dan simpan di bahasa mengajukan. Jika serialisasi akan dilakukan dengan benar maka pesan, Data serialized akan dicetak.

# Impor modul acar
impor acar

# Deklarasikan objek untuk menyimpan data
objek data= []

# Ulangi for loop selama 5 kali dan ambil nama bahasa
untukndi dalam jangkauan(5):
mentah= memasukkan('Masukkan nama bahasa :')

objek data.menambahkan(mentah)

# Buka file untuk menulis data
file_handler= membuka('bahasa', 'wb')

# Buang data objek ke dalam file
acar.membuang(objek data,file_handler)

# tutup penangan file untuk melepaskan sumber daya
file_handler.Menutup()

# Cetak pesan
mencetak('Data diserialisasi')

Keluaran:



Setelah menjalankan skrip, dibutuhkan lima nama bahasa sebagai input.

Hapus data dari file

unpickling data adalah kebalikan dari pickling data. Buat file bernama acar2.py dengan skrip python berikut. Di Sini, membuka() metode yang digunakan untuk membuka file biner bernama bahasa , dibuat pada contoh sebelumnya. memuat() fungsi digunakan untuk mengekstrak data dari file dan menyimpannya dalam variabel objek data . Lanjut, untuk loop digunakan untuk mengulang data dari objek data dan cetak di terminal.

# Impor modul acar
impor acar

# Buka file handler untuk membaca file dari mana data akan dimuat
file_handler= membuka('bahasa', 'rb')

# Muat data dari file setelah deserialisasi
objek data= acar.memuat(file_handler)

# Tutup penangan file
file_handler.Menutup()

# Cetak pesan
mencetak('Data setelah deserialisasi')

# Ulangi loop untuk mencetak data setelah deserialisasi
untukjamdi dalamobjek data:
mencetak('Nilai datanya :',jam)

Keluaran:

Output berikut akan muncul setelah menjalankan skrip.

Acar Objek Kelas ke file

Bagaimana objek kelas dapat diasamkan ditunjukkan dalam contoh berikut. Buat file bernama acar3.py dengan skrip berikut. Di Sini, Karyawan class dideklarasikan untuk menetapkan tiga nilai data dari seorang karyawan. Selanjutnya, objek file handler bernama penangan file dibuat untuk membuka file untuk menulis. Setelah menginisialisasi objek kelas, data diserialisasi menggunakan membuang() fungsi dan disimpan dalam file bernama data karyawan . Jika file akan dibuat dengan benar maka pesan, Data diserialisasi akan mencetak.

# Impor modul acar
impor acar

# Deklarasikan kelas karyawan untuk menyimpan nilainya
kelasKaryawan:
def __init__(diri sendiri,nama, surel,Pos):
diri sendiri.nama =nama
diri sendiri.surel = surel
diri sendiri.Pos =Pos

#Buat objek karyawan
empObject=Karyawan('Farheen', ' [dilindungi email] ', 'Pengelola')

# Buka file untuk menyimpan data
penangan file= membuka('data karyawan', 'wb')

# Simpan data ke dalam file
acar.membuang(empObject,penangan file)

#Tutup file
fileHandler.Menutup()

# Cetak pesan
mencetak('Data diserialisasi')

Keluaran:

Output berikut akan muncul setelah menjalankan skrip.

Hapus data ke Objek Kelas

Kelas dengan properti dan metode yang diperlukan akan perlu dideklarasikan untuk mengambil data dari file ke objek kelas. Buat file bernama acar4.py dengan kode berikut. Karyawan kelas didefinisikan di sini untuk mengambil data. fileObjek variabel digunakan untuk membuka file, data karyawan untuk dibaca. Lanjut, memuat() fungsi digunakan untuk menyimpan data dalam objek kelas setelah deserialisasi. menampilkan() fungsi dari Karyawan class dipanggil untuk mencetak nilai data dari objek class.

# Impor modul acar
impor acar

# Deklarasikan kelas karyawan untuk membaca dan mencetak data dari file
kelasKaryawan:
def __init__(diri sendiri,nama, surel,Pos):
diri sendiri.nama =nama
diri sendiri.surel = surel
diri sendiri.Pos =Pos

defmenampilkan(diri sendiri):
mencetak('Informasi Pegawai:')
mencetak('Nama :', diri sendiri.nama)
mencetak('Surel :', diri sendiri.surel)
mencetak('Pos :', diri sendiri.Pos)

# Buka file untuk dibaca
fileObjek= membuka('data karyawan', 'rb')

# Buka datanya
karyawan= acar.memuat(fileObjek)

# Tutup file
fileObjek.Menutup()

#cetak kerangka data
karyawan.menampilkan()

Keluaran:

Output berikut akan muncul setelah menjalankan skrip.

Kesimpulan

Modul acar adalah fitur python yang berguna untuk serialisasi dan deserialisasi data. Setelah menyelesaikan contoh yang ditampilkan dalam tutorial ini, transfer data dari satu skrip python ke skrip python lain akan lebih mudah bagi siapa saja.