-6

yaml マークアップにファイルがあります

 a:
  b:x
  test2
  test
  test3

Python (2.7.x) と PyYAML get x の使用方法は?

4

1 に答える 1

2

できません!a投稿した YAMLは、値にマップされる1 つのキーのみを含む dict になります。YAML をここに貼り付ける"b:x test2 test test3"ことで、簡単にテストできます。

key: valueこれは、ペアとキーのないアイテムを混在させることができないためです(配列にあるように)。

aただし、にマップされる別のオブジェクトを含むオブジェクトを含む適切な YAML があると仮定しましょbx。たとえば、次のようになります。

a:
    b: x
    c: test2
    d: test
    e: test3

この場合、YAML パーサーによって返されるオブジェクトfoo['a']['b']としてアクセスするために使用しますxfoo

取得する Python コードは次のfooようになります。

import yaml
with open('yourfile.yaml') as f:
    foo = yaml.safe_load(f)

YAML ドキュメントから任意の Python オブジェクトを作成するつもりsafe_loadはない可能性が高く、悪意のある YAML ドキュメントが渡された場合にセキュリティ ホールを開くことができない関数を使用したいので、私が使用しています。

于 2013-02-10T12:34:11.797 に答える