JSON et YAML

JSON

JSON signifie JavaScript Object Notation et est un format léger pour stocker et transporter des données. JSON est souvent utilisé lorsque des données sont envoyées d’un serveur à une page web.

# Read JSON file: json.load() parses JSON from file object
import json
with open("filename.json", "r") as f:  # Open file in read mode
    content = json.load(f)  # Parse JSON and return Python dict/list

Écrire un fichier JSON avec :

# Write JSON file: json.dump() writes Python object as JSON
import json

content = {"name": "Joe", "age": 20}
with open("filename.json", "w") as f:  # Open file in write mode
    json.dump(content, f, indent=2)  # Write JSON with 2-space indentation
Quiz

Connectez-vous pour répondre à ce quiz et suivre votre progression d'apprentissage

Quelle fonction est utilisée pour écrire un dictionnaire Python dans un fichier JSON ?
A. json.write()
B. json.dump()
C. json.save()
D. json.export()

YAML

Comparé au JSON, YAML permet une maintenabilité humaine bien meilleure et donne la possibilité d’ajouter des commentaires. C’est un choix pratique pour les fichiers de configuration qu’un humain devra éditer.

Il existe deux bibliothèques principales permettant d’accéder aux fichiers YAML :

Installez-les en utilisant pip install dans votre environnement virtuel.

La première est plus facile à utiliser, mais la seconde, Ruamel, implémente beaucoup mieux la spécification YAML et permet par exemple de modifier un contenu YAML sans altérer les commentaires.

Ouvrir un fichier YAML avec :

# Read YAML file using ruamel.yaml library
from ruamel.yaml import YAML

with open("filename.yaml") as f:
    yaml=YAML()  # Create YAML parser instance
    yaml.load(f)  # Parse YAML and return Python dict/list
Quiz

Connectez-vous pour répondre à ce quiz et suivre votre progression d'apprentissage

Quel est un avantage de YAML par rapport à JSON ?
A. Les fichiers YAML sont plus petits
B. YAML est plus rapide à analyser
C. YAML permet les commentaires et est plus lisible par l'homme
D. YAML est intégré à Python

Anyconfig

Anyconfig est un paquet très pratique, permettant d’abstraire complètement le format de fichier de configuration sous-jacent. Il permet de charger un dictionnaire Python à partir de JSON, YAML, TOML, et autres.

Installez-le avec :

pip install anyconfig

Utilisation :

# anyconfig: load configuration files in various formats (JSON, YAML, TOML, etc.)
import anyconfig
conf1 = anyconfig.load("/path/to/foo/conf.d/a.yml")  # Auto-detects format
Quiz

Connectez-vous pour répondre à ce quiz et suivre votre progression d'apprentissage

Que permet la bibliothèque anyconfig ?
A. Charger des fichiers de configuration dans divers formats (JSON, YAML, TOML) sans spécifier le format
B. Convertir entre différents formats de configuration
C. Valider la syntaxe des fichiers de configuration
D. Crypter les fichiers de configuration

Liens pertinents