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

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

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

最佳答案

您可以使用|引入的literal scalar block style。例如:

代码:|
def foo():
打印“foo”

#我们可以轻松地包含空白行

foo()

如果您需要通过代码生成文件,那么yaml模块确实具有允许您控制块样式的功能:Any yaml libraries in Python that support dumping of long strings as block literals or folded blocks?

感谢@delnan向我指出这些非常有用的信息。

10-08 09:46
查看更多