Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menyimpan Objek Python untuk Penggunaan Kemudian?

Bagaimanakah Saya Boleh Menyimpan Objek Python untuk Penggunaan Kemudian?

Barbara Streisand
Barbara Streisandasal
2024-12-15 01:37:10611semak imbas

How Can I Save a Python Object for Later Use?

Menyimpan Objek: Kegigihan Data

Masalah:

Anda telah mencipta objek dengan atribut tertentu dan ingin menyimpannya untuk kegunaan kemudian. Bagaimanakah anda boleh mencapai ini?

Penyelesaian:

Untuk menyimpan objek dalam Python, anda boleh menggunakan modul jeruk. Berikut ialah contoh menggunakan modul ini:

import pickle

class Company(object):
    def __init__(self, name, value):
        self.name = name
        self.value = value

with open('company_data.pkl', 'wb') as outp:
    company1 = Company('banana', 40)
    pickle.dump(company1, outp, pickle.HIGHEST_PROTOCOL)

    company2 = Company('spam', 42)
    pickle.dump(company2, outp, pickle.HIGHEST_PROTOCOL)

Dalam contoh ini, kami:

  1. Mencipta kelas Syarikat untuk mewakili objek yang ingin kami simpan.
  2. Mentakrifkan atribut objek (nama dan nilai) dalam pembina kelas.
  3. Membuka fail untuk menulis dalam format binari ('wb') dan gunakan pickle.dump untuk mensiri dan menyimpan objek Syarikat pada fail.

Pertimbangan Lanjutan:

  • Pertimbangkan untuk menggunakan cPickle (atau _pickle dalam Python 3) untuk prestasi yang lebih pantas.
  • Pilih format aliran data yang sesuai (protokol) berdasarkan keperluan anda dan versi Python.
  • Fail Pickle boleh mengandungi berbilang objek, yang boleh disimpan dalam struktur data seperti senarai atau kamus.
  • Gunakan alatan seperti pickle_loader untuk menyahsiri dan memuatkan berbilang objek dengan cara yang mudah.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyimpan Objek Python untuk Penggunaan Kemudian?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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