Lire les valeurs du fichier YAML

Lire les valeurs du fichier YAML
YAML est un langage de sérialisation de données populaire développé pour la lisibilité et l'interaction humaines. YAML est un outil puissant qui offre de nombreuses fonctionnalités et flexibilité, ce qui en fait un bon choix lorsque vous travaillez avec des fichiers de configuration.

Ce tutoriel couvrira comment travailler avec Yaml et une langue de script populaire, Python. Python est une excellente langue utilisée dans de nombreux domaines, y compris l'automatisation (comme ANSIBLE), où les fichiers YAML trouvent une utilisation intensive. Par conséquent, la capacité de travailler avec Yaml et Python est un grand avantage.

Conditions préalables

Avant de commencer le tutoriel principal, vous devrez faire remplir les exigences suivantes.

  • Python3 installé
  • En mesure de travailler avec des fichiers YAML
  • Quelques connaissances dans la programmation Python.

Installation de pyyaml

Pour travailler avec des fichiers YAML dans Python, nous utiliserons le package Pyyaml, un analyseur YAML et un émetteur pour la langue Python. Il est très flexible et peut s'appliquer à diverses tâches telles que les fichiers de configuration, la sérialisation des données, et plus.

Pour installer Pyyaml ​​sur votre machine, utilisez PIP comme indiqué dans la commande ci-dessous:

PIP3 Installer Pyyaml

Comment lire un fichier yaml dans Python

À des fins d'illustration, j'utiliserai un pubSec.Fichier YAML disponible dans le langage de programmation DART. Le contenu du fichier YAML est ci-dessous:

Nom: Newtify
version 1.2.3
Description:>-
Avez-vous été transformé en triton? Aimerais-tu être?
Ce package peut aider. Il a tout le
Fonctionnalité de transmogrification Newt-Transmogrification que vous avez recherchée
pour.
Page d'accueil: https: // Exemple-Pet-store.com / newtify
Documentation: https: // Exemple-store.com / newtify / docs
environnement:
SDK: '> = 2.dix.0 <3.0.0'
Dépendances:
EFTS: ^ 2.0.4
TransMogrify: ^ 0.4.0
Dev_Dependces:
Test: '> = 1.15.0 <2.0.0'

Crédit: Dart Development Team - https: // dart.dev / outils / pub / pubSpec

Une fois que le fichier a été modifié et enregistré, nous pouvons utiliser Python pour lire les valeurs stockées dans le fichier.

La première étape consiste à importer le package YAML comme:

>>> Importer Yaml

Ensuite, nous devons charger le fichier YAML à l'aide de la fonction Safe_load disponible dans le package Pyyaml.

>>> avec ouvert («pubSec.yaml ”) comme f:
pubsec = yaml.Safe_load (F)
RETOUR PUBSEC

La dernière étape consiste à assembler le code. Le code complet est comme indiqué ci-dessous:

Importer Yaml
def main ():
avec ouvert ("".yml ") comme f:
pubsec = yaml.Safe_load (F)
RETOUR PUBSEC
read_yaml = main ()
imprimer (read_yaml)

À partir du code ci-dessus, nous commençons par importer le package YAML. Nous créons ensuite une fonction principale (tout nom fonctionne) et définissons la logique pour lire le fichier YAML.

Une fois le fichier ouvert et lu, nous appelons la fonction principale. À ce stade, le fichier YAML est converti en dictionnaire Python.

Si nous exécutons le code, nous obtenons la sortie:

'name': 'Newtify', 'version': '1.2.3 ',' Description ': «Avez-vous été transformé en Newt? Aimerais-tu être? Ce package peut aider. Il a toutes les fonctionnalités de transmogrification Newt-Transmogrification que vous avez recherchées.',' Homepage ':' https: // Exemple-Pet-Store.com / Newtify ',' Documentation ':' https: // Exemple-Pet-store.com / newtify / docs ',' environnement ': ' sdk ':'> = 2.dix.0 <3.0.0', 'dependencies': 'efts': '^2.0.4', 'transmogrify': '^0.4.0', 'dev_dependencies': 'test': '>= 1.15.0 <2.0.0'

Ce n'est pas très lisible; Vous pouvez utiliser un package tel que Pretty Print pour embellir le dictionnaire indiqué ci-dessus comme:

Importer Yaml
Importer un empreinte
def main ():
avec ouvert ("".yml ") comme f:
pubsec = yaml.Safe_load (F)
RETOUR PUBSEC
read_yaml = main ()
tampon.pprint (read_yaml)

Cela videra le contenu comme:

'dépendances': 'efts': '^ 2.0.4 ',' TransMogrify ':' ^ 0.4.0 ',
«Description»: «Avez-vous été transformé en trit? Aimerais-tu être? Ce '
'Package peut aider. Il a tout le transmogrification de Newt '
'fonctionnalité que vous recherchiez.',
'Dev_dependces': 'test': '> = 1.15.0 <2.0.0',
«Documentation»: «https: // Exemple-Pet-Store.com / newtify / docs ',
'Environnement': 'sdk': '> = 2.dix.0 <3.0.0',
«Page d'accueil»: «https: // Exemple-Pet-Store.com / newtify ',
«Nom»: «Newtify»,
'version 1.2.3 '

Maintenant c'est plus lisible qu'avant.

Comment lire les valeurs du fichier YAML

Pour lire les valeurs du fichier YAML ci-dessus, tout ce que nous devons faire est d'accéder aux données à l'aide de la clé du dictionnaire.

Par exemple, pour lire la valeur de la touche environnementale, nous utilisons:

>>> imprimer (read_yaml ['environnement'])

Cela nous donnera la valeur stockée dans la clé «environnement» du dictionnaire read_yaml. Comme indiqué ci-dessous:

'sdk': '> = 2.dix.0 <3.0.0'

La sortie ci-dessus est un dictionnaire imbriqué; Nous pouvons obtenir la valeur réelle en allant plus loin le dictionnaire comme:

print (read_yaml ['environnement'] ['sdk'])

Cela imprimera la valeur réelle comme:

> = 2.dix.0 <3.0.0

Conclusion

Ce tutoriel vous a montré comment lire les fichiers YAML dans Python et lire les valeurs spécifiques d'un fichier. Cela vient très pratique lorsque vous avez besoin d'une valeur spécifique d'un fichier YAML pour effectuer une opération,

Merci d'avoir lu et de codage heureux!