Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menyimpan dan Mengambil Objek Python Dengan Cekap Menggunakan Pickle?

Bagaimanakah Saya Boleh Menyimpan dan Mengambil Objek Python Dengan Cekap Menggunakan Pickle?

Linda Hamilton
Linda Hamiltonasal
2024-12-09 09:03:06899semak imbas

How Can I Efficiently Save and Retrieve Python Objects Using Pickle?

Menyimpan Objek: Melaksanakan Kegigihan Data

Dalam pengaturcaraan berorientasikan objek, menyimpan dan mendapatkan semula keadaan objek adalah penting untuk kegigihan data.

Untuk menyimpan objek, anda boleh menggunakan modul acar Python. Mari kita terokai cara:

  1. Membungkus Objek untuk Acar:
    Menggunakan modul jeruk, anda boleh mensiri objek dengan "membungkus"nya dalam aliran binari. Anda boleh mencapai ini dengan membuka fail dalam mod binari tulis ('wb') dan menggunakan fungsi pickle.dump() untuk menyimpan objek anda:

    import pickle
    
    # Example object
    company1 = Company('banana', 40)
    
    with open('company_data.pkl', 'wb') as outp:
     pickle.dump(company1, outp, pickle.HIGHEST_PROTOCOL)
  2. Memanfaatkan cPickle atau _pickle (Python 3):
    Untuk meningkatkan prestasi, pertimbangkan untuk menggunakan cPickle (atau _pickle dalam Python 3) sebagai ia jauh lebih pantas daripada modul acar. Hanya gantikan pernyataan import:

    import cPickle as pickle
  3. Mengoptimumkan Versi Protokol:
    Pickle menggunakan protokol yang berbeza untuk menulis data dalam pelbagai format. Protokol 0 boleh dibaca manusia, manakala versi >0 adalah binari. Menentukan versi tertinggi (-1) memastikan penggunaan protokol terkini yang disokong untuk versi Python anda:

    pickle.dump(obj, outp, -1)
  4. Menyimpan Berbilang Objek:
    Anda boleh menyimpan berbilang objek dalam satu fail jeruk dengan menggunakan senarai, tuple atau dict:

    tech_companies = [
     Company('Apple', 114.18),
     Company('Google', 908.60),
     Company('Microsoft', 69.18)
    ]
    
    save_object(tech_companies, 'tech_companies.pkl')
  5. Menyahjelek Objek Tersimpan:
    Untuk memulihkan objek yang disimpan, cuma buka fail jeruk dalam mod binari baca ('rb') dan gunakan pickle.load() untuk mendapatkan semula data:

    with open('company_data.pkl', 'rb') as inp:
     company1 = pickle.load(inp)

Kesimpulannya, menggunakan modul jeruk menyediakan kaedah yang cekap untuk menyimpan dan memulihkan objek, membolehkan anda mencipta struktur data yang berterusan untuk aplikasi anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyimpan dan Mengambil Objek Python Dengan Cekap Menggunakan Pickle?. 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