Maison >développement back-end >Tutoriel Python >Une brève introduction à json et pickle en Python

Une brève introduction à json et pickle en Python

黄舟
黄舟original
2017-07-20 15:24:081491parcourir

L'éditeur suivant vous présentera une brève présentation de json et pickle en Python. L'éditeur le trouve plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence pour tout le monde. Suivons l'éditeur et jetons un coup d'œil

Voici les deux modules utilisés pour la sérialisation :

• json. : est utilisé pour convertir entre les types de données chaîne et python

• pickle : est utilisé pour les types spécifiques à python et les données python Convertir entre types

Le module Json propose quatre fonctions : dumps, dump,loads,load

Le module pickle propose quatre fonctions : dumps, dump,loads,load


import pickle
data = {'k1':123, 'k2':888}
#dumps可以将数据类型转换成只有python才认识的字符串
p_str = pickle.dumps(data)
print p_str
输出结果:
(dp0
S'k2'
p1
I888
sS'k1'
p2
I123
s.

Convertissez les données en une chaîne reconnue uniquement par Python et écrivez-la dans le fichier :


import pickle
data = {'k1':123, 'k2':888}
#打开文件,然后将data写入
with open('data.pkl', 'wb') as f:
 pickle.dump(data, f)
#同样读取的时候也需要打开文件
with open('data.pkl', 'rb') as f:
 data_1 = pickle.load(f)
print data_1
结果:
{'k2': 888, 'k1': 123}

文件中显示的内容与上面一致

L'utilisation de json est la même que celle de cornichon


import json
data = {'k1':123, 'k2':888}
p_str = json.dumps(data)
print p_str, type(p_str)
结果:
{"k2": 123, "k1": 888} <type &#39;str&#39;>

Il semble comme un dictionnaire, mais veuillez noter qu'il s'agit en fait d'une chaîne, car json ne peut être qu'au format chaîne, cela ressemble simplement à un dictionnaire.


import json
data = {&#39;k1&#39;:123, &#39;k2&#39;:123}
#打开文件,然后将data写入
with open(&#39;data.pkl&#39;, &#39;w&#39;) as f:
 json.dump(data, f)
#同样读取的时候也需要打开文件
with open(&#39;data.pkl&#39;, &#39;r&#39;) as f:
 data_1 = json.load(f)
print(data_1, type(data_1))
结果:
({u&#39;k2&#39;: 123, u&#39;k1&#39;: 123}, <type &#39;dict&#39;>)

peut être lu et le type est correct.

Quelle est la différence entre pickle et json ?

Dans les deux morceaux de code ci-dessus, pickle utilise le mode 'b' lors de l'écriture et de la lecture de fichiers, mais pas json.

Json peut échanger des données entre différents langages, tandis que pickle ne peut être utilisé qu'entre python.

json ne peut sérialiser que les types de données les plus élémentaires, tandis que pickle peut sérialiser tous les types de données, y compris les classes et les fonctions.

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