导入类似json/yaml/ini/xml的.py文件

ezcf的Python项目详细描述


EZCF
=== < BR>
构建状态支持的python版本pypi版本覆盖范围
状态 < BR>
ezcf代表**易于配置**,它允许您导入
json/yaml/ini/xml-like.py文件。它在你需要阅读的时候很有用
这些格式,尤其是用于读取配置文件的格式。 < BR>
好了,别说话了,给我们看看密码! < BR>
左边是您通常要做的,右边是ezcf路。
**您只需要先"导入ezcf",然后"导入文件名"``
没有分机。**没有别的! < BR>
图:https://github.com/laike9m/ezcf/raw/master/code_compare.png
:高度: < BR>
例如,我们要在这里加载文件"config.json"。只有一个
一行代码``来自配置导入````,一切都完成了,您将 快乐。 < BR> 安装/安装
< BR>
: < BR>
PIP安装ezcf < BR>
如果遇到"error:yaml.h:no这样的文件或目录",请不要
担心,您仍然可以毫无问题地使用ezcf。 < BR>
支持的文件类型
---- < BR>
ezcf支持带扩展名的"json"、"yaml"、"ini"和"xml"
``json`,``yaml`,``yml`,``ini`,``xml`。 < BR>
示例用法
---- < BR>
让我们从一个简单的案例开始: < BR>
: < BR>
——样品1.py
——sample1.json < BR>
``sample1.py``和``sample1.json``在同一目录中。我们想要
要阅读"sample1.py"中的"sample1.json",请阅读以下方法: < BR>
代码::python < BR> "BR/>"""
样本1.json
{
"你好":"世界"
< >"" < BR>
样本1.py
导入ezcf
从sample1导入hello < BR>
打印(你好)"世界" < BR>
就这么简单。 < BR>
这很酷,但我们通常将配置文件放在单独的文件夹中。罐头
EZCF处理好了吗? < BR>
: < BR>
——形态

样品2.yaml
——样品2.py < BR>
为什么不呢? < BR>
代码::python < BR>
"样品2.yaml < BR>
时间:2001-11-23 15:02:31-5
用户:ed
警告:
这是一个警告。 < BR>
堆栈:
-文件:topclass.py
线路:23
代码:|
x=更多对象("345\n")
-文件:moreclass.py
线路:58
代码:|-
foo=酒吧 "BR/>""" < BR>
样本2.py
导入ezcf
来自conf.sample2导入时间,用户,警告,堆栈 < BR>
时间日期时间.日期时间(2001,11,23,20,2,31)
用户
警告这是警告。
堆栈[{行:23,'代码':'x=moreobject("345\\n")\n,'文件':'topclass.py'},{行:58,'代码':'foo=bar,'文件':'morecolass.py'}] < BR>
ezcf支持各种有效的导入语句。这些陈述是
相当于: < BR>
代码::python < BR>
来自conf.sample2导入时间,用户,警告,堆栈
从conf.sample2导入*
导入conf.sample2,然后使用conf.sample2.time/user/warning/stack
将conf.sample2导入为cs,然后使用cs.time/user/warning/stack < BR>
总之,可以假定它们只是普通的python文件。
ezcf只支持utf-8编码的文件) < BR>
相对进口如何?是的,ezcf支持相对导入,只要
正确使用时*。 < BR> 注意事项 < BR>< BR>
1。小心导入包含多个文档的yaml:如果存在
存在同名的密钥,将只加载其中一个密钥。所以
最好不要使用多个文档;
2。".ini"文件中的所有值都保持原样,并作为
字符串;
3。由于xml只允许单个根,所以整个xml将加载为
一个dict,以根的名称作为变量名;
4。使用`**有效变量
名称**<;https://docs.python.org/3.4/reference/词汇分析.html标识符>;`,
这意味着json/yaml/ini/xml中的键字符串应该是有效的python
变量名。无效的变量名不会对您的
程序也不会崩溃,但不能按预期使用它们。 < BR>
运行测试
--- < BR>
: < BR>
python setup.py测试 < BR> 路线图
< BR>
-[x]使用点分隔文件夹/子文件夹/文件
-[x]Unicode支持
-[x]JSON支持
-[x]山药支持
-[x]INI支持
-[x]XML支持
-[]自动编码检测?
-[x]置信区间
-[x]覆盖范围
-[x]pypi < BR> 许可证
< BR><麻省理工学院>麻省理工学院 < BR>
|构建状态图像::https://travis-ci.org/laike9m/ezcf.svg
:目标:https://travis-ci.org/laike9m/ezcf
|支持的python版本image::https://img.shields.io/pypi/pyversions/ezcf.svg
:目标:https://pypi.python.org/pypi/ezcf/
| PYPI版本图片::https://badge.fury.io/py/ezcf.svg
:目标:http://badge.fury.io/py/ezcf
|覆盖状态图像::https://coveralls.io/repos/laike9m/ezcf/badge.svg
:目标:https://coveralls.io/r/laike9m/ezcf

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

推荐PyPI第三方库


热门话题
java如何在数据库中插入行时自动发送电子邮件?   从进程输出读取的Java问题   java质疑StyledDocument和JTextPane之间的关系,以及接口的正确使用   java错误getPlayer(args[0]);   java如何使Spring引导在重新打包的WAR中包含清单文件?   Java中的除法与模   java使用2d数组和JfreeChart制作散点图   java扩展SonarQube FindBugs插件和自定义FindBugs插件   javaspring:hibernate+ehcache   具有不正确的equals和HashCode实现的java HashMap   java Jaspersoft报告网。旧金山。jasperreports。发动机例外:net。旧金山。jasperreports。发动机填满JRepressionEvalException:计算表达式时出错   java如果输入与其变量不匹配,如何添加错误   在java中使用简单数组[]实现队列   无法启动上下文路径/hsx上的java FAIL应用程序