扩展环境变量的yaml解析器

syaml的Python项目详细描述


TravisCI StatusCircleCI Statusdrone.io StatusRequirements Status

安装

$ pip install syaml

如何使用

syaml是扩展环境变量的yaml解析器。 它可以在yaml文件中使用路径名称此处和环境变量。 用mako模板的语法描述。见http://www.makotemplates.org/

apath是yaml文件的绝对路径,name是yaml文件的文件名, 这里的是yaml文件存储的绝对目录路径。

例如。

/路径/to/test.yaml:

- ${here}
- ${name}
- ${path}

上面的文件相当于下面的一个文件。

- /path/to/
- test.yaml
- /path/to/test.yaml

而且,它也可以在yaml文件中使用环境变量。

/路径/to/test.yaml:

- email: ${EMAIL}

如果设置了环境变量email,则上述文件等同于以下文件。

- email: test@example.com

加载文件并加载字符串

示例文件/path/to/syaml/example.yml:

general:
  - ${here}
  - ${name}
  - ${path}

加载文件对象:

>>> import syaml
>>> with open('example.yml', 'rb') as fp:
...     syaml.load(fp)
...
{'general': ['/path/to/syaml', 'example.yml', '/path/to/syaml/example.yml']}

加载字节字符串对象:

>>> syaml.loads(b'general:\n  - ${here}\n  - ${name}\n  - ${path}\n')
{'general': ['', '', '']}

加载字符串对象:

>>> syaml.loads('general:\n  - ${here}\n  - ${name}\n  - ${path}\n')
{'general': ['', '', '']}
>>>

namepath如果将字符串传递给syaml.loads函数,则此处的将替换为空字符串。 它们用于文件对象。类似字符串的对象没有文件路径。

使用命令行工具

syaml呈现

它呈现sayml文件。

示例.yml:

general:
  - ${here}
  - ${name}
  - ${path}

执行syaml render命令:

$ syaml render example.yml
general:
- /path/to/syaml
- example.yml
- /path/to/syaml/example.yml

执行syaml render命令json样式:

$ syaml render example.yml --json
{"general": ["/path/to/syaml", "example.yml", "/path/to/syaml/example.yml"]}

仅执行syaml render命令预处理:

$ syaml render example.yml --pre
general:
  - /path/to/syaml
  - example.yml
  - /path/to/syaml/example.yml

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Hibernate会话。save()不返回值吗?   java JMS应用程序发布订阅   java使用字符串创建一个长度为n,高度为n的正方形   java如何在MySQL的SQL查询中传递ArrayList<>如IN子句   安卓 java。lang.IllegalArgumentException:指定为非null的参数为null:方法kotlin。jvm。内部的内在的。检查参数不完整   如何用Java绘制交互式图形/线条?   java Blackberry移动Web应用快捷方式   java Json LocalDateTIme问题   java更改密钥的颜色   java在过滤条件之后在流上迭代时如何获取上一个对象   Java:按位和创建无符号字节   java在JavaScript中检索Velocity循环变量   java JButton不会出现在GUI上   java Cell API json转换到POJO   java在模拟中初始化静态最终变量