如何将Python代码嵌入到YAML中?

时间:2014-01-19 16:05:25

标签: python yaml

我需要将Python代码嵌入到YAML文档中。该文档最好是可移植的(标准YAML),或者至少可以通过Python解析(例如使用PyYaml)。

实际上我正在尝试将未修改的字符串包含在yaml属性中。应保留缩进和换行,以便稍后可以执行嵌入式Python代码。

我找到了'>'但它删除了换行符。

1 个答案:

答案 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指导我了解这个非常有用的信息。