Cet article vous apporte une brève introduction au module json et au module pickle en Python (avec des exemples). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Le module json et pickle en Python sont tous deux utilisés pour la sérialisation et la désérialisation des données, et les méthodes qu'ils fournissent sont les mêmes : dumps, dump, charges, chargement
dumps(obj) : Sérialise l'objet en str.
dump(obj, fp): Sérialisez l'objet dans str et stockez-le dans le fichier.
Désérialisez la chaîne (sérialisée) dans un objet Python.
Désérialisez la chaîne (sérialisée) dans le fichier dans un objet Python.
entre eux, ou chacun a ses propres différences Chaque Avantages et inconvénients:
La chaîne après sérialisation json est dans un format universel (chaîne ordinaire) Différentes plateformes et langages peuvent être reconnu dans , mais la chaîne sérialisée pickle ne peut être reconnue que par Python (module de sérialisation dédié à Python)
Les objets que json peut sérialiser ne sont que les types de données de base en Python, tandis que pickle peut sérialiser tous les types de données en Python.
La chaîne après la sérialisation json est de type texte (vous pouvez également la comprendre après avoir ouvert le fichier dans le Bloc-notes ou l'avoir imprimé avec le contenu imprimé), et la chaîne sérialisée par pickle est constituée de données de flux binaire (le contenu à l'intérieur est complètement incompréhensible après l'ouverture du Bloc-notes ou l'impression). Par conséquent, lorsque vous effectuez des opérations sur les fichiers, faites attention au module utilisé et s'il doit être ouvert au format b.
json nécessite un espace de stockage plus petit, tandis que pickle nécessite un espace de stockage plus grand.
>>> import pickle >>> dic = {'a': 111, 'b': 222, 'c': 333} >>> f = open('D:/pk_file.pk', 'wb') >>> lst = [1, 2, 4, 5] >>> # 将字典对象和列表对象序列化,并存入文件,文件名后缀自定义为.pk >>> pickle.dump(dic, f) >>> pickle.dump(lst, f) >>> f.close() >>> # 将文件中的Python对象按写入顺序读取出来,且一次读取一个对象 >>> pk_f = open('D:/pk_file.pk', 'rb') >>> result = pickle.load(pk_f) >>> type(result) <class 'dict'> >>> result {'a': 111, 'b': 222, 'c': 333} >>> other_result = pickle.load(pk_f) >>> type(other_result) <class 'list'> >>> other_result [1, 2, 4, 5] >>>
C'est tout pour cet article Contenu , pour un contenu plus passionnant sur Python, vous pouvez prêter attention aux colonnes
Tutoriel vidéo Pythonet Tutoriel d'article Python du site Web PHP chinois ! ! !
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!