可读写数据交换格式
nestedtext的Python项目详细描述
NestedText是用于保存要输入、编辑或 被人们看到。它允许将数据组织到 字典、列表和字符串。这样它就类似于JSON,YAML 和TOML,但是没有{em1}$YAML的复杂性和风险,并且没有 {emm{emm}。NestedText既简单又 自然。只有少量的概念和规则必须牢记在心 创造它。使用文本编辑器可以轻松地创建、修改或查看 容易被程序员和非程序员理解和使用。在
NestedText对配置文件、地址簿、帐户非常方便 信息等。下面是一个包含 地址:
# Contact information for our officers president: name: Katheryn McDaniel address: > 138 Almond Street > Topeka, Kansas 20697 phone: cell: 1-210-555-5297 home: 1-210-555-8470 # Katheryn prefers that we always call her on her cell phone. email: KateMcD@aol.com additional roles: - board member vice president: name: Margaret Hodge address: > 2586 Marigold Lane > Topeka, Kansas 20682 phone: 1-470-555-0398 email: margaret.hodge@ku.edu additional roles: - new membership task force - accounting task force treasurer: - name: Fumiko Purvis address: > 3636 Buffalo Ave > Topeka, Kansas 20692 phone: 1-268-555-0280 email: fumiko.purvis@hotmail.com additional roles: - accounting task force - name: Merrill Eldridge # Fumiko's term is ending at the end of the year. # She will be replaced by Merrill. phone: 1-268-555-3602 email: merrill.eldridge@yahoo.com
该格式包含字典(名称/值对的有序集合)、列表 (值的有序集合)和按层次组织的字符串(文本) 任何深度。缩进用于指示数据的层次结构,并且 一个简单的自然语法用于区分 一种不容易混淆的方式。特别是,以 单词(或单词)后跟冒号是字典项,以 破折号是列表项,以大于号开头的行是 多行字符串。字典和列表可以任意嵌套,并且 叶值总是文本,因此名称NestedText。在
NestedText有点独特,因为叶值总是字符串。的 当然,这些值在输入文件中以字符串的形式开始,但是可以选择 YAML或TOML积极地将这些值转换为底层数据 类型,如整数、浮点和布尔值。例如,像2.10这样的值 将转换为浮点数。但是决定这么做 完全基于值的形式,而不是它所在的上下文。 这会导致误解。例如,假设该值为 软件版本号2点10。把它转换成浮点 数字变成两点一,这是错误的。有很多可能 这个基本问题的版本。但是还有一个反问题,价值观 应转换为特定的数据类型,但无法识别。为了 例如,2.00美元的值应转换为实数,但仍将保留 而是一个字符串。对于一般用途来说,值类型太多了 解决方案是只看价值本身能够解释 所有的人。例如,12/10/09可能是一个日期,但它是以MM/DD/YY为单位的吗, YY/MM/DD或DD/MM/YY表格?事实上,单凭价值往往是不够的 可靠地确定如何将值转换为内部数据类型。 NestedText通过保留值的原始形式来避免这些问题 并允许最终应用程序在更多上下文中做出决定 可以帮助指导转换。如果一个值需要一个价格, 然后2美元将被检查并相应地转换。同样,本地 约定以及一个特定值的日期被期望的事实 允许12/10/09正确验证和转换。这个过程 验证和转换被称为对数据应用模式。 有诸如Pydantic和 Voluptuous可用使 这个过程简单可靠。在
贡献
此包包含NestedText和 测试套件。要使NestedText执行 广受欢迎。如果你喜欢这种格式,请考虑投稿 其他实现。在
- 项目
标签:
推荐PyPI第三方库
- 热门话题
- 内部嵌套滚动视图的java Recyclerview? 返回空值的java MapPartitionFunction java无法访问apache模块源代码中的系统定义的环境变量 java需要帮助确定用户输入的最大值和最小值 java检查文件是否存在,如果存在,则创建一个编号更高的新文件 针对许多不正确XML文档的XSD的XML验证在Java中不报告任何错误? java有没有一种方法可以将json字符串甚至JSONObject发送给POSTMAN,而不在每个双引号前加斜杠? java如何获得频域中两个音频信号的比率? java 安卓 studio理解错误 java插入到部分填充的数组中 java使用流<String>创建流<CustomType>? java开放式按键应用程序 java获取zxing生成的图像路径 使用shibboleth sso的java授权 java在运行时更改bean类名 javajooq如何从表中选择min'id' java通过Eclipse web项目运行hadoop mapreduce字数 java同步方法与非同步方法同时执行 方法每次返回一个不同的加密字符数组 java获取ArrayList的每个元素中出现的特定字符的频率<String>