2017-03-06 10 views
0

を使ってYAMLにUUIDを挿入するとき、私は、実行時にランダムなUUID値を生成したいと思いますので、私はこのようになりますいくつかのYAML追加:エラー「!!パイソン/オブジェクト」自動テストスクリプトの

--- 
applicant: 
    idNumbers: 
    nationalId: !!python/object:uuid.uuid4 

私はyaml.loadに値しようとすると、しかし、これはエラーを生成します。

ConstructorError: expected a mapping node, but found scalar 
    in "<unicode string>", line 4, column 17: 
     nationalId: !!python/object:uuid.uuid4 
        ^

私はYAMLタグを介して、UUID値を挿入するにはどうすればよいですか?

答えて

0

私は最初に少し威圧的なメッセージを見つけましたが、いくつかの考えの後、私はそれを解凍することができました。

パーサーは、スカラーではなく「マッピング」ノードを期待しています。では、マッピングを追加するとどうなりますか?

>>> yaml.load('''--- 
... applicant: 
... idNumbers: 
...  nationalId: !!python/object:uuid.uuid4 {}''') 
{'applicant': {'idNumbers': {'nationalId': UUID('71e09d1d-e84e-4ea6-855d-be1a2e91b60a')}}} 

追加情報:http://yaml.org/type/map.html

関連する問題