Maison  >  Article  >  développement back-end  >  Comment stocker et récupérer des dictionnaires Python : JSON vs Pickle ?

Comment stocker et récupérer des dictionnaires Python : JSON vs Pickle ?

DDD
DDDoriginal
2024-10-27 08:45:31403parcourir

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

Stockage des dictionnaires Python

Conserver les dictionnaires dans des fichiers pour une récupération future est une nécessité pratique pour diverses applications. Cet article explore deux méthodes de stockage et de chargement de dictionnaires : JSON et pickle.

JSON

JSON signifie JavaScript Object Notation et est un format populaire pour l'échange de données. Le module json en Python fournit des méthodes pour convertir des objets Python, y compris des dictionnaires, en chaînes JSON et vice versa.

Pour enregistrer un dictionnaire dans un fichier JSON, utilisez json.dump() avec l'objet fichier en premier argument :

<code class="python">import json

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

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

Pour recharger le dictionnaire dans le programme :

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

JSON permet des arguments supplémentaires, tels que sort_keys et indent, pour contrôler le format de sortie.

Pickle

Pickle est le module de sérialisation natif de Python. Il convertit les objets, y compris les dictionnaires, en flux d'octets pour le stockage.

Pour enregistrer un dictionnaire à l'aide de pickle :

<code class="python">import pickle

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

L'argument de protocole spécifie le format de sérialisation.

Pour charger le dictionnaire mariné :

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

JSON et pickle offrent tous deux des moyens pratiques de stocker et de récupérer des dictionnaires dans des fichiers. Choisissez la méthode qui correspond le mieux à vos besoins en matière d'échange ou de persistance de données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn