Maison > Article > développement back-end > Comparez les différences entre les modules de sérialisation Python pickle et json
Il s'agit de deux modules pour la sérialisation :
• json : pour la conversion entre les chaînes et les types de données python
• pickle : pour les types spécifiques à python et Convertir entre les types de données python
Le module Json fournit quatre fonctions : dumps, dump,loads, load
Le module pickle fournit quatre fonctions : dumps, dump,loads, load
les dumps peuvent convertir le type de données en chaîne sérialisée (reconnu uniquement par python)
>>> import pickle >>> data = {'name':'python', 'site':'pythontab.com'} >>> pstr = pickle.dumps(data) >>> print pstr (dp0 S'name' p1 S'python' p2 sS'site' p3 S'pythontab.com' p4 s.
Convertir les données en chaîne sérialisée et écrire dans le fichier :
import pickle data = {'name':'python', 'site':'pythontab.com'} #打开文件,然后将data写入 with open('dump.data', 'wb') as f: pickle.dump(data, f) #同样读取的时候也需要打开文件 with open('dump.data', 'rb') as f: data_load = pickle.load(f) print data_load
Résultat :
{'name':'python', 'site':'pythontab.com'}
Le contenu affiché dans le fichier est cohérent avec ce qui précède
Utilisation de json C'est la même chose que pickle
import json data = {'name':'python', 'site':'pythontab.com'} jstr = json.dumps(data) print jstr, type(jstr)
Résultat :
{"name":"python", "site":"pythontab.com"} <type 'str'>
Remarque : Cela ressemble à un dictionnaire, mais il doit l'être. Notez qu'il s'agit en fait d'une chaîne , comme json ne peut être qu'au format chaîne, il ressemble simplement à un dictionnaire.
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!