HOWTO · Python
Convertir un dictionnaire en chaîne en Python
Ce tutoriel montre comment convertir un dictionnaire en chaîne et vice versa en Python
Un dictionnaire en Python est une collection ordonnée de valeurs de données stockées dans une paire clé : valeur. Il peut être créé en plaçant des éléments entre des accolades et en les séparant par une virgule. Une chaîne en Python est une séquence de caractères Unicode. Il peut être créé en mettant les caractères entre guillemets simples ou doubles.
Dans ce didacticiel, nous verrons comment convertir un dictionnaire en chaîne et revenir en Python.
Utilisez le module json pour convertir un dictionnaire en chaîne et revenir en Python
json est l’acronyme de JavaScript Object Notation. Ce module produit la sortie en texte brut uniquement. Il prend également en charge les plates-formes et les versions croisées.
Par exemple,
import json
dict = {"Hello": 60}
s = json.dumps(dict)
print(s)
d = json.loads(s)
print(d)
Production:
{"Hello": 60}
{'Hello': 60}
La fonction json.dumps() extrait les données de l’objet json passé en paramètre et les renvoie sous forme de chaîne. La fonction json.loads() prend en paramètre une chaîne et renvoie un objet json.
Utilisez les fonctions str() et literal_eval() de la bibliothèque ast pour convertir un dictionnaire en une chaîne et revenir en Python
Cette méthode peut être utilisée si la longueur du dictionnaire n’est pas trop grande. La méthode str() de Python est utilisée pour convertir un dictionnaire en sa représentation sous forme de chaîne. Le literal_eval() de la bibliothèque ast est utilisé pour convertir une chaîne en un dictionnaire en Python.
Par exemple,
import ast
dict = {"Hello": 60}
str(dict)
ast.literal_eval(str(dict))
Production:
"{'Hello': 60}"
{'Hello': 60}
Utiliser le module pickle pour convertir un dictionnaire en chaîne et revenir en Python
La fonction dumps() du module pickle permet de convertir un dictionnaire en flux d’octets en Python. La fonction loads() fait le contraire, c’est-à-dire qu’elle est utilisée pour reconvertir le flux d’octets en un dictionnaire en Python.
Par exemple,
import pickle
dict = {"Hello": 60, "World": 100}
s = pickle.dumps(dict)
print(s)
d = pickle.loads(s)
print(d)
Production:
b'\x80\x04\x95\x19\x00\x00\x00\x00\x00\x00\x00}\x94(\x8c\x05Hello\x94K<\x8c\x05World\x94Kdu.'
{'Hello': 60, 'World': 100}