Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk melaksanakan objek berterusan dalam Python?

Bagaimana untuk melaksanakan objek berterusan dalam Python?

WBOY
Lepaskan: 2023-09-13 12:41:02
ke hadapan
790 orang telah melayarinya

Bagaimana untuk melaksanakan objek berterusan dalam Python?

Untuk melaksanakan objek berterusan dalam Python, gunakan perpustakaan berikut.

  • Di rak
  • Kimchi

Modul rak

"rak" ialah objek seperti kamus yang berterusan. Perbezaan dengan pangkalan data "dbm" ialah nilai (bukan kekunci!) dalam rak pada dasarnya boleh menjadi sebarang objek Python - apa sahaja yang boleh dikendalikan oleh modul acar. Ini termasuk kebanyakan kejadian kelas, jenis data rekursif dan objek yang mengandungi sejumlah besar sub-objek dikongsi.

Ia mempunyai beberapa kaedah utama -

  • shelve.open() - Buka kamus yang berterusan. Nama fail yang dinyatakan ialah nama fail asas pangkalan data asas. Sebagai kesan sampingan, sambungan boleh ditambah pada nama fail dan berbilang fail boleh dibuat. Secara lalai, fail pangkalan data asas dibuka untuk membaca dan menulis.

  • shelve.sync() − Jika rak dihidupkan dengan tulis balik ditetapkan kepada Benar, semua entri dalam cache ditulis kembali. Jika boleh, cache juga disiram dan kamus berterusan disegerakkan dengan data pada cakera. Kaedah ini dipanggil secara automatik apabila rak ditutup menggunakan close().

  • shelve.close() − Segerakkan dan tutup objek kamus yang berterusan.

modul acar

modul acar melaksanakan protokol binari untuk mensiri dan menyahsiri objek Python struktur.

  • Acar ialah proses menukar hierarki objek Python kepada bait aliran. Untuk menyusun hierarki objek, hanya panggil fungsi dumps().

  • Menyahjeruk ialah operasi terbalik. Dihuraikan daripada fail binari atau aliran bait seperti objek bait Tukar semula kepada hierarki objek. Untuk menyahsiri aliran data, anda memanggil fungsi loads(). Fungsi.

Fungsi modul acar

Berikut adalah fungsi yang disediakan oleh modul jeruk.

  • pickle.dump() - Menulis perwakilan jeruk objek ke dalam fail objek fail terbuka.

  • pickle.dumps() − mengembalikan perwakilan acar objek sebagai objek bait dan bukannya Tulis pada fail.

  • pickle.load() - Membaca perwakilan jeruk objek daripada fail objek fail terbuka.

  • pickle.loads() - Mengembalikan hierarki objek yang dibina semula bagi perwakilan data yang dijeruk Objek

Contoh

Pertama, import modul jeruk -

import pickle
Salin selepas log masuk

Kami telah mencipta input berikut untuk penjerukan.

my_data = { 'BMW', 'Audi', 'Toyota', 'Benz'}
Salin selepas log masuk

fail demo.pickle telah dibuat. Fail .pickle yang sama ini dijeruk dengan senarai di atas.

with open("demo.pickle","wb") as file_handle:
   pickle.dump(my_data, file_handle, pickle.HIGHEST_PROTOCOL)
Salin selepas log masuk

Sekarang, keluarkan fail jeruk di atas dan dapatkan nilai input.

with open("demo.pickle","rb") as file_handle:
   res = pickle.load(file_handle)
   print(res_data)
Salin selepas log masuk

Sekarang mari kita lihat contoh lengkapnya.

import pickle

# Input Data
my_data = { 'BMW', 'Audi', 'Toyota', 'Benz'}

# Pickle the input
with open("demo.pickle","wb") as file_handle:
   pickle.dump(my_data, file_handle, pickle.HIGHEST_PROTOCOL)

# Unpickle the above pickled file
with open("demo.pickle","rb") as file_handle:
   res = pickle.load(file_handle)
   print(my_data) # display the output
Salin selepas log masuk

Output

set(['Benz', 'Toyota', 'BMW', 'Audi'])
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan objek berterusan dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan