Salut,
Cela fait plusieurs jours que je bloque sur mon script. J'aimerai parser un fichier yml afin d'un ressortir une info selon l'argument passé.
dic.yml
En gros mon fichier yml ressemble à ça.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 local key: loc tri: lcl connec: - vpn: oui - ssh: oui vms: - group1: vm1, vm2, vm3 - group2: vm4, vm5, vm6 hyperviseur: key: hyp tri: hyp connec: ipmi vms: hy1, hy2
Je voudrais que mon script puisse selon l'argument :
- afficher certaines informations (vms, connect par exemple) quand je lui passe en argument 'local' ou 'hyperviseur'
- quand je lui passe un nom contenu dans 'vms' (qui est unique) donc par exemple 'vm2' qu'il m'affiche 'local' et le contenu de 'connec'.
En plus explicite :
Je ne m'en sors à réaliser ça. Déjà est-ce techniquement possible ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 ./kit.py --info local VMs: - Groupe1: vm1, vm2, vm3 - Groupe2: vm4, vm5, vm6 Connexion: - VPN: oui - SSH: oui ./kit.py --vm hyp2 Appartient à: hyperviseur Connexion: ipmi
J'ai essayé plusieurs choses pour récupérer les informations souhaitées selon l'argument passé en parsant le yml.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 #!/usr/bin/env python # -*- coding: utf-8 -*- # import yaml import os.path import argparse parser = argparse.ArgumentParser() parser.add_argument("-v", "--vm", help="Afficher à qui appartient la vm") parser.add_argument("-i", "--info", help="Afficher les informations d'un groupe") args = parser.parse_args() with open('dic.yml', 'r') as f: obj = yaml.load(f)
Pouvez-vous m'aider ?
Je vous remercie d'avoir lu.
Océane
Partager