我需要将Python代码嵌入到YAML文档中。该文档最好是可移植的(标准YAML),或者至少可以通过Python解析(例如使用PyYaml)。
实际上我正在尝试将未修改的字符串包含在yaml属性中。应保留缩进和换行,以便稍后可以执行嵌入式Python代码。
我找到了'>'但它删除了换行符。
答案 0 :(得分:8)
您可以使用|
引入的literal scalar block style。例如:
code: | def foo(): print "foo" # we can include blank lines with no difficulty foo()
如果您需要从代码生成文件,那么yaml
模块确实具有允许您控制块样式的功能:Any yaml libraries in Python that support dumping of long strings as block literals or folded blocks?
感谢@delnan指导我了解这个非常有用的信息。