prettyetc项目核心库
prettyetc的Python项目详细描述
项目分为两个包:
- prettytetc qt(一个基于qt的prettytetc图形界面)
- prettyetc(API的核心)
prettyetc夸脱
通过一个漂亮而通用的界面,以可视化的方式浏览配置文件。在
Prettyetc允许您在多任务窗口中编辑配置, 每个配置都显示为一个没有难看的括号的可折叠树, 引用或任何其他可能是特定语言的东西。在
例如,可以使用相同的视图和结构读取JSON和INI文件。在
官方GUI由Qt框架提供支持,使用官方Python绑定。在
漂亮等
使用基于树的高级数据结构编辑配置文件并将其转换为其他语言。在
安装
注释: 如果系统中同时安装了python2和python3, 您可能需要使用pip3而不是pip。在
使用UI进行完全安装:pip install prettyetc-qt
。在
或者,如果您只想要核心:pip install prettyetc[all]
。在
有关安装过程的更多信息,请访问: https://prettyetc.gitlab.io/prettyetc/developing/userguide/installation.html
示例(使用核心API)
让我们看看prettyetc能做些什么。在
fromprettyetc.etccoreimportConfigFileFactory,DictField# create the factoryfactory=ConfigFileFactory(enable_logger=True)# create the file, this can be used to read and write the filefile=factory.create_file("colors.json")# read the file and save it in a RootFieldroot=file.read()# add a new colorcolor={"color":"aqua","code":{"rgba":[0,255,255,1],"hex":"#0FF"},"web_safe":True,}root["colors"].add(DictField.from_primitives(color))# change red color namered_color=root["colors"][2]red_color["color"].data="light-red"# change red color codesred_color["code"]["rgba"][0].data=204red_color["code"]["hex"].data="#c00"# change red color web_safe fieldred_color["web_safe"].data=False# write the RootField to file (beautified json)file.write(root,language="json",beautify=True)
看到了吗 getting started 关于如何使用prettyetc的快速入门。在
支持的语言
由于语言性质或使用的后端, 解析器/序列化程序并不实现所有字段规范, 只是其中的一部分。在
- JSON(json)
- INI(configparser)
- XML(XML ElementTree)
- 山药(*ruamel.yaml)
- 一种被称为etc的自定义语言, 见below (嵌入式代码+*lark-parser)
Language - Type | JSON Parser | JSON Serializer | INI Parser | INI Serializer | XML Parser | XML Serializer | YAML Parser | YAML Serializer | Etc 1 Parser | Etc 1 Serializer |
---|---|---|---|---|---|---|---|---|---|---|
Field name | V 2 | V 2 | V | V | V | V | V 2 | V 2 | V | V |
Field description (comment) | I | I | V | V | ||||||
Field readonly | I | I | V | V | ||||||
Field attributes | I | I | V | V | ||||||
Indexable fields | V | V | V 3 | V 3 | V | V | V | V | ||
Typed field | V | V | E 4 | E 4 | P | P | V | V | V | V |
*后端需要外部库
Legend:
文件
对于核心特性、Prettyetc字段含义的详细解释, API参考和其他,我们建议查看Prettyetc的文档。在
etc语言的解释
etc配置语言是微语言的集合, 所有这些文件的结构都类似于INI文件(没有节)。在
此名称的来源是包含系统的*nix/etc文件夹 或者很多程序的默认配置,还有内核设置。在
除了以INI或JSON格式的文件外, 此文件夹中的文件具有未定义的简单语法; 由空格组成的“:”字符或“=”字符(某处) 和“#”字符作为注释开头,它记住sh/bash语法。在
这些文件的示例包括: ^{cd3}。在
我们的解析器的目标是处理其中的大部分,使用字段表示它 以普遍的观点来看。在
- 项目
标签: