Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menyimpan dan Mendapatkan Kamus Python: JSON vs. Pickle?

Bagaimana untuk Menyimpan dan Mendapatkan Kamus Python: JSON vs. Pickle?

DDD
DDDasal
2024-10-27 08:45:31403semak imbas

How to Store and Retrieve Python Dictionaries: JSON vs. Pickle?

Menyimpan Kamus Python

Memelihara kamus dalam fail untuk mendapatkan semula masa hadapan adalah keperluan praktikal untuk pelbagai aplikasi. Artikel ini meneroka dua kaedah untuk menyimpan dan memuatkan kamus: JSON dan pickle.

JSON

JSON bermaksud Notasi Objek JavaScript dan merupakan format popular untuk pertukaran data. Modul json dalam Python menyediakan kaedah untuk menukar objek Python, termasuk kamus, kepada rentetan JSON dan sebaliknya.

Untuk menyimpan kamus ke fail JSON, gunakan json.dump() dengan objek fail sebagai yang pertama argument:

<code class="python">import json

data = {'key1': "keyinfo", 'key2': "keyinfo2"}

with open('data.json', 'w') as fp:
    json.dump(data, fp)</code>

Untuk memuatkan semula kamus ke dalam program:

<code class="python">with open('data.json', 'r') as fp:
    data = json.load(fp)</code>

JSON membenarkan argumen tambahan, seperti sort_keys dan indent, untuk mengawal format output.

Acar

Acar ialah modul bersiri asli Python. Ia menukar objek, termasuk kamus, kepada strim bait untuk storan.

Untuk menyimpan kamus menggunakan jeruk:

<code class="python">import pickle

with open('data.p', 'wb') as fp:
    pickle.dump(data, fp, protocol=pickle.HIGHEST_PROTOCOL)</code>

Argumen protokol menentukan format bersiri.

Untuk memuatkan kamus jeruk:

<code class="python">with open('data.p', 'rb') as fp:
    data = pickle.load(fp)</code>

Kedua-dua JSON dan jeruk menawarkan cara yang mudah untuk menyimpan dan mendapatkan kamus dalam fail. Pilih kaedah yang paling sesuai dengan keperluan anda untuk pertukaran data atau kegigihan.

Atas ialah kandungan terperinci Bagaimana untuk Menyimpan dan Mendapatkan Kamus Python: JSON vs. 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