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

use*_*644 4 python yaml

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

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

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

Dav*_*nan 10

您可以使用引入的文字标量块样式|.例如:

code: |
    def foo():
        print "foo"

    # we can include blank lines with no difficulty

    foo()

如果需要从代码生成文件,那么yaml模块确实具有允许您控制块样式的功能:Python中的任何yaml库都支持将长字符串转储为块文字或折叠块?

感谢@delnan为我指出这个非常有用的信息.