


Utilisation du module Json et du module Pickle en Python
La sérialisation et la désérialisation des données sont des opérations de données courantes. Python fournit deux modules pour faciliter la mise en œuvre des opérations de sérialisation des données par les développeurs, à savoir le module json et picklemodule. Les principales différences entre ces deux modules sont les suivantes :
json est un format de sérialisation de texte, tandis que pickle est un format de sérialisation binaire json peut être lu intuitivement, mais pickle ne le peut pas ; >json est interopérable et largement utilisé en dehors du système Python, tandis que pickle est spécifique à Python
Par défaut, json ne peut représenter qu'un sous-ensemble des types intégrés de Python ;
mais pickle peut représenter un grand nombre de types de données Python.
Apprentissage recommandé : Module JsonJson est un format d'échange de données léger En raison de ses caractéristiques de petite quantité de données transmises et de sa facilité d'analyse du format de données, il est largement utilisé dans les opérations interactives entre différents systèmes. données. Il contient plusieurs fonctions couramment utilisées, comme suit :
fonction dumps()la fonction dumps() peut encoder des objets Python en chaînes Json. Par exemple : la fonction
# 字典转成json字符串 加上ensure_ascii = False以后, 可以识别中文, indent = 4 是间隔4个空格显示 import json d = { '小明': { 'sex': '男', 'addr': '上海', 'age': 26 }, '小红': { 'sex': '女', 'addr': '上海', 'age': 24 }, } print(json.dumps(d, ensure_ascii = False, indent = 4)) # 执行结果: { "小明": { "sex": "男", "addr": "上海", "age": 26 }, "小红": { "sex": "女", "addr": "上海", "age": 24 } }
la fonction dump() peut encoder des objets Python en chaînes json et les écrire automatiquement dans le fichier, pas besoin d'écrire des fichiers. séparément. Par exemple : la fonction
# 字典转成json字符串, 不需要写文件, 自动转成的json字符串写入到‘ users.json’ 的文件中 import json d = { '小明': { 'sex': '男', 'addr': '上海', 'age': 26 }, '小红': { 'sex': '女', 'addr': '上海', 'age': 24 }, }# 打开一个名字为‘ users.json’ 的空文件 fw = open('users.json', 'w', encoding = 'utf-8') json.dump(d, fw, ensure_ascii = False, indent = 4)
la fonctionloads() peut convertir la chaîne json en type de données Python. Par exemple : la fonction
# 这是users.json文件中的内容 { "小明": { "sex": "男", "addr": "上海", "age": 26 }, "小红": { "sex": "女", "addr": "上海", "age": 24 } } #!/usr/bin / python3# 把json串变成python的数据类型 import json# 打开‘ users.json’ 的json文件 f = open('users.json', 'r', encoding = 'utf-8')# 读文件 res = f.read() print(json.loads(res)) # 执行结果: { '小明': { 'sex': '男', 'addr': '上海', 'age': 26 }, '小红': { 'sex': '女', 'addr': '上海', 'age': 24 } }
load() a des fonctions similaires àloads(). La fonction load() peut convertir les chaînes json en types de données Python. . La différence est que le paramètre du premier est un objet fichier et qu'il n'est pas nécessaire de lire ce fichier séparément. Par exemple :
# 把json串变成python的数据类型: 字典, 传一个文件对象, 不需要再单独读文件 import json# 打开文件 f = open('users.json', 'r', encoding = 'utf-8') print(json.load(f)) # 执行结果: { '小明': { 'sex': '男', 'addr': '上海', 'age': 26 }, '小红': { 'sex': '女', 'addr': '上海', 'age': 24 } }
Le module Pickle a des fonctions similaires au module Json et contient également quatre fonctions, à savoir dump(), dumps(), charges () et load(), leurs principales différences sont les suivantes :
La différence entre dumps et dump est que le premier sérialise l'objet, tandis que le second sérialise l'objet et l'enregistre dans un fichier. La différence entre Loads et Load est que le premier désérialise la chaîne sérialisée, tandis que le second lit la chaîne sérialisée à partir du fichier et la désérialise.
fonction dumps()la fonction dumps() peut convertir des données sous une forme spéciale en une chaîne qui n'est reconnue que par le langage python, par exemple :
import pickle# dumps功能 import pickle data = ['A', 'B', 'C', 'D'] print(pickle.dumps(data)) b '\x80\x03]q\x00(X\x01\x00\x00\x00Aq\x01X\x01\x00\x00\x00Bq\x02X\x01\x00\x00\x00Cq\x03X\x01\x00\x00\x00Dq\x04e.'
la fonction dump() peut convertir les données en une chaîne reconnue uniquement par le langage python sous une forme spéciale et l'écrire dans un fichier. Par exemple :
# dump功能 with open('test.txt', 'wb') as f: pickle.dump(data, f) print('写入成功')
Écrire avec succès
la fonctionloads() peut convertir les données pickle en structure de données python. Par exemple : la fonction
# loads功能 msg = pickle.loads(datastr) print(msg) ['A', 'B', 'C', 'D']
la fonctionload() peut lire les données d'un fichier de données et les convertir en une structure de données Python. Par exemple :
# load功能with open('test.txt', 'rb') as f: data = pickle.load(f) print(data) ['A', 'B', 'C', 'D']
Cet article provient de la rubrique
tutoriel pythonCe 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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La combinaison de golangWebSocket et JSON : réaliser la transmission et l'analyse des données Dans le développement Web moderne, la transmission de données en temps réel devient de plus en plus importante. WebSocket est un protocole utilisé pour établir une communication bidirectionnelle. Contrairement au modèle de requête-réponse HTTP traditionnel, WebSocket permet au serveur de transmettre activement des données au client. JSON (JavaScriptObjectNotation) est un format léger d'échange de données, concis et facile à lire.

L'annotation Gson@Expose peut être utilisée pour marquer si un champ est exposé (inclus ou non) pour la sérialisation ou la désérialisation. L'annotation @Expose peut prendre deux paramètres, chaque paramètre est une valeur booléenne et peut prendre la valeur vrai ou faux. Pour que GSON réagisse à l'annotation @Expose, nous devons créer une instance Gson à l'aide de la classe GsonBuilder et appeler la méthodeexpiseFieldsWithoutExposeAnnotation(), qui configure Gson pour exclure tous les champs sans annotation Expose de la sérialisation ou de la désérialisation. Syntaxe publicGsonBuilderexclud

MySQL5.7 et MySQL8.0 sont deux versions différentes de la base de données MySQL. Il existe quelques différences principales entre elles : Améliorations des performances : MySQL8.0 présente quelques améliorations de performances par rapport à MySQL5.7. Ceux-ci incluent de meilleurs optimiseurs de requêtes, une génération de plans d'exécution de requêtes plus efficaces, de meilleurs algorithmes d'indexation et des requêtes parallèles, etc. Ces améliorations peuvent améliorer les performances des requêtes et les performances globales du système. Prise en charge JSON : MySQL 8.0 introduit la prise en charge native du type de données JSON, y compris le stockage, la requête et l'indexation des données JSON. Cela rend le traitement et la manipulation des données JSON dans MySQL plus pratiques et efficaces. Fonctionnalités de transaction : MySQL8.0 introduit de nouvelles fonctionnalités de transaction, telles que l'atome

Les méthodes d'optimisation des performances pour la conversion des tableaux PHP en JSON incluent : l'utilisation d'extensions JSON et de la fonction json_encode() ; l'ajout de l'option JSON_UNESCAPED_UNICODE pour éviter l'échappement de caractères ; l'utilisation de tampons pour améliorer les performances d'encodage de boucle et l'utilisation d'un tiers ; Bibliothèque d'encodage JSON.

La gestion des formats de données XML et JSON dans le développement C# nécessite des exemples de code spécifiques. Dans le développement de logiciels modernes, XML et JSON sont deux formats de données largement utilisés. XML (Extensible Markup Language) est un langage de balisage permettant de stocker et de transmettre des données, tandis que JSON (JavaScript Object Notation) est un format d'échange de données léger. Dans le développement C#, nous devons souvent traiter et exploiter des données XML et JSON. Cet article se concentrera sur la façon d'utiliser C# pour traiter ces deux formats de données et les attacher.

Utilisez la fonction json.MarshalIndent dans Golang pour convertir la structure en une chaîne JSON formatée. Lors de l'écriture de programmes dans Golang, nous avons souvent besoin de convertir la structure en chaîne JSON. Dans ce processus, la fonction json.MarshalIndent peut nous aider à implémenter. sortie formatée. Ci-dessous, nous expliquerons en détail comment utiliser cette fonction et fournirons des exemples de code spécifiques. Commençons par créer une structure contenant des données. Ce qui suit est une indication

Démarrage rapide : méthode Pandas de lecture des fichiers JSON, des exemples de code spécifiques sont requis Introduction : Dans le domaine de l'analyse des données et de la science des données, Pandas est l'une des bibliothèques Python importantes. Il fournit des fonctions riches et des structures de données flexibles, et peut facilement traiter et analyser diverses données. Dans les applications pratiques, nous rencontrons souvent des situations où nous devons lire des fichiers JSON. Cet article expliquera comment utiliser Pandas pour lire des fichiers JSON et joindra des exemples de code spécifiques. 1. Installation de Pandas

Les annotations dans la bibliothèque Jackson contrôlent la sérialisation et la désérialisation JSON : Sérialisation : @JsonIgnore : Ignorer la propriété @JsonProperty : Spécifiez le nom @JsonGetter : Utilisez la méthode get @JsonSetter : Utilisez la méthode set Désérialisation : @JsonIgnoreProperties : Ignorez la propriété @ JsonProperty : Spécifiez le nom @JsonCreator : utilisez le constructeur @JsonDeserialize : logique personnalisée
