检查yaml文件中的必需字段

spread-confiture的Python项目详细描述


Funny fact: confiture looks like configure.

Confiture,那是什么?

[删除:果酱通常包含果汁和果肉,或者 蔬菜,尽管有些烹饪书把它定义为熟的和冻的 泥。“果酱”一词是指将整颗水果切成 碎块或压碎,然后用水和糖加热以激活 将果胶放入容器前进行果胶处理。]

confirure是测试yaml配置的一小段代码 文件。通过测试,我们的意思是检查是否确实设置了一些必需的字段。

安装

spread confiture

哦真的吗?-编号

pip install confiture

哦真的吗?-不,PIP名称confiture已被使用。

pip install spread-confiture

哦真的吗?-是的。

要求

此项目需要pyyaml来分析yaml文件。

用法

模板文件

模板文件是一个描述我们想要的字段的文件 分析配置文件时进行检查。它也是用yaml写的, 采用以下方案:

foo:bar:""foobar:foo:""bar:""bar:""

配置文件相对于模板文件是一致的,如果 将设置模板指定的每个必需字段。请注意 配置还可以设置 模板。

创建一个Confiture对象

创建相对于给定模板文件的Confiture对象:

fromconfitureimportConfiture# conf pour confiture ou configration ?conf=Confiture("examples/templates/confiture.yaml")

分析配置文件

一旦创建了Confiture对象,我们就可以测试yaml 配置文件:

# Simple testconf.check("examples/config/blueberry_ok.yaml")# Test et récupération du contenu du fichier sous forme de dictionnaireconfig=conf.check_and_get("examples/config/blueberry_ok.yaml")

如果配置文件与模板不一致,则 ConfigFileError引发异常。

示例

代码

fromconfitureimportConfiture,ConfigFileErrorprint"[*] loading template"confiture=Confiture("examples/templates/confiture.yaml")print"[*] checking required files for blueberry"try:confiture.check("examples/config/blueberry_ok.yaml")print"[*] blueberry file is correct"exceptConfigFileErrorase:printe.messageprint"[*] checking required files for banana"try:confiture.check("examples/config/banana_ko.yaml")print"[*] banana file is correct"exceptConfigFileErrorase:printe.message

输出

(confiture) > python ./example.py
[*] loading template
[*] checking required files for blueberry
[*] blueberry file is correct
[*] checking required files for banana
*** fruit field not found -- aborting

常见问题解答

你是怎么想到要做(一些)确认的?

那是九月的一个被禁止的早晨,早餐时间。确切地说 当我开始在吐司上吐痰时…

为什么是文档?

因为没有文档的项目就像没有文档的confirture 香焦。

为什么文档那么长?

因为文档就像confiture中的香蕉,所以 味道越好。

为什么一个文档如此渴望一个如此简单的项目?

因为现在我可以说有一次我写了一份文档 比代码本身还要长。

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

推荐PyPI第三方库


热门话题
Frida Java windows的逆向工程   Java术语中的对象初始化   java在何处放置maven参数化junit输入xml文件   java如何在Swift中创建以日期为键、布尔值为值的字典/地图?   java Velocity动态属性访问   java Maven站点我如何找到它们?   java JavaFX按钮在显示阶段时显示为选中状态   文件io字符串方法java赋值   java为SOAP头生成证书   java Android更改EditText的setError弹出消息的背景色   java格式存储为字符串的数字   java Testcontainers+dbrider:无法清除表X,消息:启用自动提交时无法提交。,原因:无效   java程序应该可以运行,但仍然没有输出?   Java在列表末尾添加一个节点?   java类对象中的默认构造函数做什么?   java如何更快地从映射返回键和值?