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

黄舟
Libérer: 2017-07-20 15:24:08
original
1446 Les gens l'ont consulté

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.
Copier après la connexion

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}

文件中显示的内容与上面一致
Copier après la connexion

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;>
Copier après la connexion

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;>)
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal