启用自引用yaml条目

dynamic-yaml的Python项目详细描述


[![构建状态](https://travis-ci.org/childsish/dynamic-yaml.svg?branch=master)](https://travis ci.org/childsish/dynamic yaml)


dynamic yaml
==


dynamic yaml是两个类和函数,它们为yaml添加了额外的功能,使之成为python的一种很好的配置语言。如果您喜欢json,请参阅[dynamic json][dynamic json]。


*一个非常可读和干净的语法
*无限嵌套的键:值对
*序列类型
*一个符合严格标准的规范的可移植语法

pyyaml解析器提供:

*自动类型标识(实现yaml标准的结果)

动态YAML引入的类:
BR/>动态字符串解析
BR/>动态PyyAML需要PyYAML(http://Bask.Org/XI/PyyAML)。
BR/>用法
-
介绍的关键特征是字符串标量引用配置树的其他部分的能力。这是使用python字符串格式语法完成的。字符'{'和'}'将对配置结构中其他项的引用括起来。引用采用key1.key2格式,其中key1映射到另一个映射对象,可以在根映射中找到,key2可以在key1的映射对象中找到。可以使用多级嵌套(例如key1.key2.key2.key3等)。



>一个示例yaml配置:
``yaml
>项目名称:hellowworld
dirs:
home/home/user
venv:{dirs.home}/venvs/{project{项目名称}
bin:{dirs.venv}/bin
data:{dirs.venv}/venvs/{project{project{project{name}
bin:{dirs.venv}/bin:{dirs.venv}/bin/bin数据:{dirs.venv}/错误“
会话:“{dirs.data}/sessions/sessions”
数据库:“{dirs.data}/databases”
exes:
main:“{dirs.bin}/main”
测试:测试
``` ` `


/>读取一个yaml文件:

`` python
导入动态的yaml


现在,条目“cfg.dirs.venv”将解析为“/home/user/venvs/hello world”`.


在此基础上,有效的yaml配置文件需要一些限制。

**yaml文件中的通配符字符串必须用引号括起来。**大括号('{'和'}')通常将映射对象括起来。但是,python字符串格式语法也使用大括号来括起引用。由于无法轻松更改其中任何一个,必须使用单引号或双引号显式声明包含通配符的字符串。
***变量始终是动态解析的。**这可能会导致显著的速度减慢,但希望您的配置对象不会太大。

[dynamic json]:https://github.com/childsish/dynamic-json

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

推荐PyPI第三方库


热门话题
JavaSpring重定向请求处理程序   SwingJava:拆分字符串并将其放入文本区域的   Java:标记“”上出现语法错误,此标记后面应为表达式   web服务Java RestService从日志文件写入和读取数据   java如何将ArrayList<String>转换为char数组,然后向后打印每个单词?   java SimpleDataFormat解析返回年终日期   加密Java aes解密bytebuffer,包括填充为空字节   java有没有办法从特定的if语句调用变量?   java从更新返回到渲染   spring GRPC Java登录测试   java为什么下面的代码不工作(StringBuffer.toString!=null)   java是一种可行的模式吗?   使用Spring集成测试的JavaOSGi片段   java jCommander为未知和未使用的值引发异常?   在imageView的editText中输入的java图像URL