2012-02-13 28 views
5

私はPyYAMLを使ってYAMLファイルを扱います。 鍵の存在をどうやって確認できるのだろうか?以下の例では、titleキーはlist1のみに存在します。存在する場合はタイトル値を正しく処理し、存在しない場合は無視します。YAMLキーの存在を確認してください

list1: 
    title: This is the title 
    active: True 
list2: 
    active: False 

答えて

11

あなたはPyYAMLとして、このファイルをロードしたら、それはこのような構造を持つことになりますが:

{ 
'list1': { 
    'title': "This is the title", 
    'active': True, 
    }, 
'list2: { 
    'active': False, 
    }, 
} 

あなたはでそれを繰り返すことができます:あなたはyaml.loadを使用する場合は、

for k, v in my_yaml.iteritems(): 
    if 'title' in v: 
     # the title is present 
    else: 
     # it's not. 
6

結果を辞書のため、inを使用して、キーが存在するかどうかを確認できます。

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 
関連する問題