2016-04-27 7 views
0

yamlファイルを読み込んでいるとき、出力がdictonary形式ですが、mykeysが上書きされています。助けてください。My yamlを上書きする構文

下記のyamlファイルを見つけてください。

import yaml 

my_name: value0 
    my_flavors: ['large'] 
    my_ip: '10.222.25.200' 
    my_user: ubuntu 
    my_pass: ubuntu 
    my_config: /home/ubuntu 
    my_net_type: vlan 
    my_switch_type: ovs 
    my_knobs: 
    dp: no 
    dk : no 
    sk: no 
    my_monitor: yes 
my_name: value1 
    my_flavors: ['large',small] 
    my_ip: '10.222.35.200' 
    my_user: ubuntu 
    my_pass: ubuntu 
    my_config: /home/ubuntu/ 
    my_net_type: vlan 
    my_switch_type: ovs 
    my_knobs: 
    dp: no 
    dk : no 
    sr: no 
    my_monitor: yes 

私は私のキーを変更するべきではありませんが、私はO/Pを得るとき、私は1は、私が辞書形式ですべての詳細を取得するにはどうすればよい0を評価するだけでなく値を取得していますか?

+0

あなたがしようとしていることは明確ではありません。この形式はdictに変換され、dictはキーに対して1つの値しか持てません。複数の 'my_name'キーを持つことはできません。 –

答えて

1

私はyamlファイルに関する深い知識はありませんが、問題はあなたの「鍵」が等しいことに起因すると思います。

あなただけのようなもの試す必要がありますので、表示される各「キー」のための最後の値:

my_name_0: value0 
    my_flavors: ['large'] 
    my_ip: '10.222.25.200' 
    my_user: ubuntu 
    my_pass: ubuntu 
    my_config: /home/ubuntu 
    my_net_type: vlan 
    my_switch_type: ovs 
    my_knobs: 
    dp: no 
    dk : no 
    sk: no 
    my_monitor: yes 
my_name_1: value1 
    my_flavors: ['large',small] 
    my_ip: '10.222.35.200' 
    my_user: ubuntu 
    my_pass: ubuntu 
    my_config: /home/ubuntu/ 
    my_net_type: vlan 
    my_switch_type: ovs 
    my_knobs: 
    dp: no 
    dk : no 
    sr: no 
    my_monitor: yes 

重要なのは、キーを一意にするために「my_name_x」です。

関連する問題