J'utilise Pyyaml pour travailler avec des fichiers YAML. Je me demande comment je peux vérifier correctement l'existence de certaines touches? Dans l'exemple ci-dessous, la touche code> TITLE code> n'est présente que pour la liste1. Je souhaite traiter correctement la valeur du titre s'il existe et ignore s'il n'est pas là.
list1: title: This is the title active: True list2: active: False
3 Réponses :
Une fois que vous avez chargé ce fichier avec pyyaml, il aura une structure comme ceci: Vous pouvez l'itération avec: p>
Si vous utilisez yaml.load code>, le résultat est un dictionnaire, vous pouvez donc utiliser
dans code> pour vérifier si une clé existe:
import yaml
str_ = """
list1:
title: This is the title
active: True
list2:
active: False
"""
dict_ = yaml.load(str_)
print dict_
print "title" in dict_["list1"] #> True
print "title" in dict_["list2"] #> False
Old Post, mais au cas où il aide toute autre personne - à Python3: Vous pouvez utiliser my_yaml.items () code> au lieu de
itéritems ( ) code>. Vous pouvez également regarder des valeurs directement aussi avec
my_yaml.values () code>. P> p>