Python

Cara mengasinkan objek dengan Python

Cara mengasinkan objek dengan 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 acar. 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:

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 adalah wajib dan argumen terakhir adalah opsional. Argumen pertama mengambil objek data yang perlu dibuat bersambung. Argumen kedua mengambil objek file handler dari file itu di mana data yang diambil akan disimpan. Argumen terakhir mengambil nama protokol.

Sintaksis:

dump(objek_data, objek_file, [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 for loop 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 diserialisasi" akan dicetak.

# Impor modul acar
acar impor
# Deklarasikan objek untuk menyimpan data
dataObjek = []
# Ulangi for loop selama 5 kali dan ambil nama bahasa
untuk n dalam rentang (5):
raw = input('Masukkan nama bahasa  :')
objek data.tambahkan (mentah)
# Buka file untuk menulis data
file_handler = buka('bahasa', 'wb')
# Buang data objek ke dalam file
acar.dump(dataObject, file_handler)
# tutup penangan file untuk melepaskan sumber daya
file_handler.Menutup()
# Cetak pesan
print('Data diserialisasi')

Keluaran:

Setelah menjalankan skrip, dibutuhkan lima nama bahasa sebagai input.

Hapus data dari file

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

# Impor modul acar
acar impor
# Buka file handler untuk membaca file dari mana data akan dimuat
file_handler = buka('bahasa', 'rb')
# Muat data dari file setelah deserialisasi
dataObject = acar.memuat (file_handler)
# Tutup penangan file
file_handler.Menutup()
# Cetak pesan
print('Data setelah deserialisasi')
# Ulangi loop untuk mencetak data setelah deserialisasi
untuk val di dataObject:
print('Nilai Data : ', val)

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. Sini, Karyawan class dideklarasikan untuk menetapkan tiga nilai data dari seorang karyawan. Selanjutnya, objek file handler bernama fileHandler 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 pesannya, “Data diserialisasi” akan mencetak.

# Impor modul acar
acar impor
# Deklarasikan kelas karyawan untuk menyimpan nilainya
Kelas Karyawan:
def __init__(diri, nama, email, pos):
diri.nama = nama
diri.email = email
diri.posting = posting
 
#Buat objek karyawan
empObject = Karyawan('Farheen', '[email dilindungi]', 'Manajer')
# Buka file untuk menyimpan data
fileHandler = buka('data karyawan', 'wb')
# Simpan data ke dalam file
acar.dump(empObject, fileHandler)
#Tutup file
fileHandler.Menutup()
# Cetak pesan
print('Data diserialisasi')

Keluaran:

Output berikut akan muncul setelah menjalankan skrip:.

Hapus data ke Objek Kelas

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

# Impor modul acar
acar impor
# Deklarasikan kelas karyawan untuk membaca dan mencetak data dari file
karyawan kelas:
def __init__(diri, nama, email, pos):
diri.nama = nama
diri.email = email
diri.posting = posting
tampilan def (diri):
print('Informasi Karyawan:')
print('Nama  :', self.nama)
print('Email  :', self.surel)
print('Posting :', self.pos)
 
# Buka file untuk dibaca
fileObject = buka('Data Karyawan', 'rb')
# Buka datanya
karyawan = acar.memuat (fileObject)
# Tutup file
fileObyek.Menutup()
#cetak kerangka data
karyawan.tampilan()

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.

Alat Berguna untuk Gamer Linux
Jika Anda suka bermain game di Linux, kemungkinan besar Anda telah menggunakan aplikasi dan utilitas seperti Wine, Lutris, dan OBS Studio untuk mening...
Game Remaster HD untuk Linux yang Belum Pernah Rilis Linux Sebelumnya
Banyak pengembang dan penerbit game datang dengan remaster HD dari game lama untuk memperpanjang umur waralaba, harap penggemar meminta kompatibilitas...
Cara Menggunakan AutoKey untuk Mengotomatiskan Game Linux
AutoKey adalah utilitas otomatisasi desktop untuk Linux dan X11, diprogram dengan Python 3, GTK dan Qt. Dengan menggunakan skrip dan fungsionalitas MA...