我需要将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向我指出这些非常有用的信息。