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
Connectez-vous pour répondre à ce quiz et suivre votre progression d'apprentissage
json.write()json.dump()json.save()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
Connectez-vous pour répondre à ce quiz et suivre votre progression d'apprentissage
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
Connectez-vous pour répondre à ce quiz et suivre votre progression d'apprentissage