Pensez à Yaml Avec Python
Maybe your like
Qu'est-ce que yaml?
Préface
Lors de la configuration d'un environnement cloud natif tel que kubernetes, les fichiers au format yaml sont souvent lus. J'ai pensé que ce serait une bonne idée d'utiliser le yaml sans le savoir bien, donc cette fois j'ai étudié en bougeant mes mains.
Origine du yaml
Depuis site officiel de yaml 「“YAML Ain’t Markup Language” 」
C'est une manière d'écrire une structure de données représentée par un acronyme de récurrence signifiant "yaml n'est pas un langage de balisage".
Objectif de conception
YAML a les sept objectifs de conception suivants.
- YAML est facile et facile à lire pour les humains
- Les données YAML sont portables entre les langages de programmation
- YAML correspond à la structure de données native du langage agile
- YAML dispose d'un modèle cohérent pour prendre en charge les outils génériques
- YAML prend en charge le traitement en un seul passage
- YAML est expressif et extensible
- Facile à mettre en œuvre et à utiliser YAML
charger et vider
Lorsqu'il s'agit de données yaml, il y a load et dump. Load est le flux dans lequel le programme comprend les données yaml, tandis que dump est le flux dans lequel le programme les convertit en données yaml. En d'autres termes, vu depuis l'application, ce n'est pas grave si vous comprenez que l'entrée de yaml est "load" et la sortie de yaml est "dump".
Depuis le site officiel "3.1 Aperçu du traitement"
Essayez de mettre en œuvre avec python
En fait, bougez vos mains et réfléchissez. Cette fois, je vais en fait gérer yaml en utilisant python3 comme langage de programmation.
Installation de pyyaml
Il existe un package appelé pyyaml pour utiliser yaml avec python. Installez à l'aide de pip. pip install pyyaml
En fait, écrivez le code
Écrivez et vérifiez le code pour la charge qui lit yaml et le dump qui génère yaml. L'environnement que j'ai essayé est le suivant.
- macOS
- python:3.7.3
- pyYAML:5.3.1
1. Chargez les données yaml avec python (load)
Préparer un fichier yaml pour le test
Créez un fichier yaml (test.yaml) comme suit.
test.yaml
env: python:3.7.3 pyYAML:5.3.1Obtenez les informations de version écrites en yaml avec python.
Écrire du code en python
Créez du code python (data-reader.py) pour lire yaml dans le même dossier que test.yaml.
data-reader.py
#!/usr/bin/env python3 from yaml import load, dump try: from yaml import CLoader as Loader, CDumper as Dumper except ImportError: from yaml import Loader, Dumper with open('test.yaml', 'r') as yml: config = load(yml, Loader=Loader) print("#### data_chcek ####") print(config) print("####################") print("Logiciel/nom du paquet:Version obtenue") print("python: {}".format(config['env']['python'])) print("pyYAML: {}".format(config['env']['pyYAML']))Résultat d'exécution
J'ai ouvert le terminal et exécuté le code python comme ci-dessous. Il a été confirmé que les données acquises à partir de yaml avaient été converties en un type de dictionnaire multicouche et que les informations de version souhaitées pouvaient être récupérées.
$ python3 data-reader.py #### data_chcek #### {'env': {'python': '3.7.3', 'pyYAML': '5.3.1'}} #################### Logiciel/nom du paquet:Version obtenue python: 3.7.3 pyYAML: 5.3.12. Exportez les données créées par python dans un fichier yaml (vidage)
Écrire du code en python
Créez des données de type dictionnaire comme exemple, convertissez les données créées au format yaml et exportez-les. J'ai créé le code python (data-writer.py) comme suit.
data-writer.py
#!/usr/bin/env python3 from yaml import load, dump try: from yaml import CLoader as Loader, CDumper as Dumper except ImportError: from yaml import Loader, Dumper # making data for yaml item_list = ['apple', 'banana', 'orange'] amounts = [2, 3, 4] sample_data = {item:value for item, value in zip(item_list, amounts)} # data output to yaml output = dump(sample_data, Dumper=Dumper) with open("output_file.yaml", 'w') as yml: yml.write(output)Résultat d'exécution
Ouvrez le terminal et exécutez le code python comme suit. À la suite de l'exécution, il a été confirmé que les données de type dictionnaire créées dans l'exemple étaient converties au format yaml.
$ python3 data-writer.py #### data_check #### apple: 2 banana: 3 orange: 4 #################### output to output_file.yamlVous pouvez vérifier le contenu du fichier de sortie ci-dessous.
$ cat output_file.yaml apple: 2 banana: 3 orange: 4Résumé
À propos de yaml, j'ai lu le document et confirmé le comportement lors de l'écriture du code. Dans le futur, j'aimerais approfondir mes connaissances sur yaml tout en prêtant attention à la fois au chargement et au dump.
Recommended Posts Pensez à yaml avec python Manipuler yaml avec python Compléter automatiquement le contenu YAML avec Python FizzBuzz en Python3 Grattage avec Python Statistiques avec python Grattage avec Python Python avec Go Twilio avec Python Intégrer avec Python Jouez avec 2016-Python AES256 avec python Testé avec Python python commence par () avec syntaxe (Python) Bingo avec python Zundokokiyoshi avec python Excel avec Python Micro-ordinateur avec Python Cast avec python Communication série avec Python Zip, décompressez avec python Django 1.11 a démarré avec Python3.6 Jugement des nombres premiers avec Python Python avec eclipse + PyDev. Communication de socket avec Python Analyse de données avec python 2 Grattage en Python (préparation) Apprendre Python avec ChemTHEATER 03 Recherche séquentielle avec Python Exécutez Python avec VBA Résolvez AtCoder 167 avec python Communication série avec python [Python] Utiliser JSON avec Python Apprendre Python avec ChemTHEATER 05-1 Apprenez Python avec ChemTHEATER Exécutez prepDE.py avec python3 1.1 Premiers pas avec Python Collecter des tweets avec Python Binarisation avec OpenCV / Python 3. 3. Programmation IA avec Python Méthode Kernel avec Python Non bloquant avec Python + uWSGI Grattage avec Python + PhantomJS Publier des tweets avec python Utiliser mecab avec Python 3 [Python] Redirection avec CGIHTTPServer Utiliser Kinesis avec Python Premiers pas avec Python Utiliser DynamoDB avec Python Getter Zundko avec python Gérez Excel avec python Loi d'Ohm avec Python Jugement des nombres premiers avec python Exécutez Blender avec python Résoudre des maths avec Python Python à partir de Windows 7 Carte thermique par Python + matplotlib Multi-processus de manière asynchrone avec python Programmation Python avec Atom Apprendre Python avec ChemTHEATER 02
Tag » Apprendre Yaml
-
Introduction à YAML Pour Les Débutants - Geekflare
-
Apprendre YAML | Grafikart
-
Tutoriel YAML - Un Guide Complet Sur YAML à L'aide De Python - Autre
-
YAML, Qu'est-ce Que C'est ? - Red Hat
-
Introduction Pratique à YAML - Coursera
-
Learn Yaml In Y Minutes
-
Introduction à YAML - Sweetohm
-
Le Langage YAML (Extrait De La Formation Symfony Sur Parlons Code)
-
Introduction Pratique à YAML From Coursera | Class Central
-
Ansible : Le Langage YAML - MHD Experts
-
Ce Qu'il Faut Savoir Sur YAML | Editions ENI
-
La Gestion Du Pluriel | Editions ENI
-
INI, TOML, YAML | Elephorm
-
Tutoriel : Déployer Un Groupe Multiconteneur à L'aide D'un Fichier YAML