执行嵌入在YAML文件中的Python代码

时间:2014-09-26 14:43:52

标签: python yaml pyyaml

我想知道是否可以执行嵌入在YAML文件中的Python代码。例如,我的YAML文件当前包含一个列表:

list: [1,2,3,4]

但我更喜欢使用numpy在我的YAML文件中输入此列表:

list: np.arange(1,5)

我看到" How to embed Python code into YAML?"描述如何使用文字标量块样式嵌入Python代码,但它没有描述如何实际执行嵌入代码。

1 个答案:

答案 0 :(得分:5)

有可能。如果您的YAML文件名为data.yml,则以下Python脚本将执行该操作。

import yaml
with open("data.yml", "r") as f:
    data = yaml.load(f)
exec data['list']

还要确保在YAML文件中添加Python代码中的导入:

list: |
    import numpy as np
    print np.arange(1,5)