启用自引用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
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