对于自动化测试脚本,我想在运行时生成随机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 :(得分:0)
我发现错误信息一开始有点令人生畏,但经过一番思考后,我能够将其解压缩。
解析器期待“映射”节点,而不是标量。那么,如果我添加映射会发生什么?
>>> yaml.load('''---
... applicant:
... idNumbers:
... nationalId: !!python/object:uuid.uuid4 {}''')
{'applicant': {'idNumbers': {'nationalId': UUID('71e09d1d-e84e-4ea6-855d-be1a2e91b60a')}}}