2
我需要将Python代码嵌入到YAML文档中。该文档应该最好是可移植的(标准YAML),或者至少可以通过Python进行分析(例如使用PyYaml)。如何将Python代码嵌入到YAML中?
事实上,我试图将未修改的字符串包含到yaml属性中。应该保留缩进和新行,以便随后可以执行嵌入式Python代码。
我找到了'>',但它删除了换行符。
我需要将Python代码嵌入到YAML文档中。该文档应该最好是可移植的(标准YAML),或者至少可以通过Python进行分析(例如使用PyYaml)。如何将Python代码嵌入到YAML中?
事实上,我试图将未修改的字符串包含到yaml属性中。应该保留缩进和新行,以便随后可以执行嵌入式Python代码。
我找到了'>',但它删除了换行符。
您可以使用与|
一起引入的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指着我对这个非常有用的信息。
你想要做什么?将它保存为一个字符串,或嵌入,以便它可以执行?或者是什么? –
Python源代码仅仅是文本,而文本在YAML中包含的并不重要。或者你是否期望YAML处理器能够在某个时刻运行代码(何时以及如何?)?那么,没有雪球的机会成为标准的YAML。你为什么需要这个? – delnan
那么如何将文字字符串嵌入yaml,保留缩进和新行? – user2245644