Analyser un fichier YAML en Python
Ce didacticiel montrera différentes façons d’analyser un fichier YAML en Python.
YAML est une norme de sérialisation de données utilisée comme type de fichier pour stocker des fichiers de configuration ou de propriété dans un projet. YAML remplace souvent les fichiers de configuration XML ou JSON typiques car les fichiers sont plus faciles à sérialiser que ces deux types de fichiers.
Utilisez le package PyYAML
pour analyser YAML en Python
pyyaml
est un package Python qui fournit des utilitaires pour analyser et manipuler les fichiers YAML dans Python.
La première étape à faire est d’installer pyyaml
en utilisant pip
car il n’est pas facilement disponible pour Python.
pip install pyyaml
Pour les utilisateurs de Python 3.x, utilisez pip3
au lieu de pip
.
pip3 install pyyaml
Maintenant que l’installation est terminée, procédez à l’analyse d’un exemple de fichier YAML. Un fichier YAML aura toujours trois tirets ---
au début du fichier pour indiquer le début d’un nouveau document YAML.
Notez que les espaces doivent être utilisés exclusivement lors de l’indentation des fichiers YAML car ces fichiers ne reconnaissent pas les espaces de tabulation comme des indentations.
Les fichiers YAML peuvent avoir une extension .yaml
ou .yml
.
sample.yaml
---
name: "John"
age: 23
isMale: true
hobbies:
- swimming
- fishing
- diving
Pour lire le fichier YAML donné en Python, importez d’abord le module yaml
. Ensuite, ouvrez le fichier yaml en utilisant la fonction open()
. Le module yaml
a une fonction prédéfinie load()
, qui accepte un fichier comme argument, charge un fichier YAML en Python, et le convertit en un type de données objet Python.
import yaml
with open("sample.yaml", "r") as f:
print(yaml.load(f))
Si vous imprimez la sortie de yaml.load()
, il affichera le contenu du fichier YAML dans un format d’objet Python.
Production:
{'name': 'John', 'age': 23, 'isMale': True, 'hobbies': ['swimming', 'fishing', 'diving']}
Pour nous assurer que le fichier YAML existe et n’est pas corrompu, sûr à utiliser, nous pouvons ajouter un bloc try
et attraper l’exception en utilisant l’objet d’erreur intégré dans le module yaml
YAMLError
. Une autre couche pour rendre le code plus sûr à utiliser est de remplacer la fonction load()
par safe_load()
, qui valide le fichier YAML avant de le charger.
import yaml
with open("sample.yaml", "r") as stream:
try:
print(yaml.safe_load(stream))
except yaml.YAMLError as exc:
print(exc)
Cette solution a le même résultat que la solution précédente, bien qu’il s’agisse d’une approche beaucoup plus sûre pour analyser un fichier YAML en Python.
En résumé, l’analyse d’un fichier YAML en Python est facilement réalisable en utilisant le module yaml
. Assurez-vous d’exécuter pip install pyyaml
avant d’utiliser le module car il n’est pas facilement intégré.
Il est toujours bon d’encapsuler les fonctions de manipulation de fichiers avec des blocs try...except
pour s’assurer que la manipulation des fichiers se déroule sans problème et est sûre à effectuer.
Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.
LinkedIn