Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Modul Pickle Python Mensiri dan Menyahseri Objek?

Bagaimanakah Modul Pickle Python Mensiri dan Menyahseri Objek?

Patricia Arquette
Lepaskan: 2024-11-29 01:05:12
asal
936 orang telah melayarinya

How Does Python's Pickle Module Serialize and Deserialize Objects?

Memahami Pickle untuk Pensirilan Objek: Memelihara Objek Python

Pickle dalam Python menyediakan mekanisme yang mudah untuk menyerikan objek Python ke dalam format binari untuk penyimpanan atau penghantaran. Dengan acar, anda boleh menyimpan struktur data yang kompleks dengan lancar, termasuk kamus, ke dalam fail atau objek seperti bait.

Serialization of a Dictionary

Untuk menulis fail baharu dan buang kamus ke dalamnya menggunakan jeruk, ikut langkah berikut:

import pickle

a = {'hello': 'world'}

with open('filename.pickle', 'wb') as handle:
    pickle.dump(a, handle, protocol=pickle.HIGHEST_PROTOCOL)
Salin selepas log masuk

Kaedah pickle.dump() mensiri kamus 'a' ke dalam fail binari 'filename.pickle'. Argumen protokol menentukan tahap keserasian bersiri.

Deserialisasi

Untuk mendapatkan semula kamus bersiri daripada fail:

with open('filename.pickle', 'rb') as handle:
    b = pickle.load(handle)
Salin selepas log masuk

Acar. kaedah load() membaca data binari dan membina semula kamus asal 'b'.

Kepelbagaian Melangkaui Kamus

Acar tidak terhad kepada bersiri kamus. Ia boleh mengendalikan pelbagai objek Python, termasuk contoh kelas tersuai dan struktur data yang kompleks. Contohnya:

import datetime
today = datetime.datetime.now()
a = [{'hello': 'world'}, 1, 2.3333, 4, True, "x",
     ("y", [[["z"], "y"], "x"]), {'today', today}]
Salin selepas log masuk

Penghadan

Walaupun jeruk adalah serba boleh, sesetengah objek tidak boleh dijeruk. Ini termasuk objek yang bergantung pada sumber sistem, seperti pemegang fail terbuka.

Atas ialah kandungan terperinci Bagaimanakah Modul Pickle Python Mensiri dan Menyahseri Objek?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan