可读写数据交换格式

nestedtext的Python项目详细描述


https://img.shields.io/travis/KenKundert/nestedtext/master.svghttps://img.shields.io/coveralls/KenKundert/nestedtext.svghttps://img.shields.io/pypi/v/nestedtext.svghttps://img.shields.io/pypi/pyversions/nestedtext.svg
作者:Ken&Kale Kundert
版本:1.2.0
发布时间:2020-10-31
文档:nestedtext.org
请将所有问题、建议和错误报告发布到:Github

NestedText是用于保存要输入、编辑或 被人们看到。它允许将数据组织到 字典、列表和字符串。这样它就类似于JSONYAMLTOML,但是没有{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有点独特,因为叶值总是字符串。的 当然,这些值在输入文件中以字符串的形式开始,但是可以选择 YAMLTOML积极地将这些值转换为底层数据 类型,如整数、浮点和布尔值。例如,像2.10这样的值 将转换为浮点数。但是决定这么做 完全基于值的形式,而不是它所在的上下文。 这会导致误解。例如,假设该值为 软件版本号2点10。把它转换成浮点 数字变成两点一,这是错误的。有很多可能 这个基本问题的版本。但是还有一个反问题,价值观 应转换为特定的数据类型,但无法识别。为了 例如,2.00美元的值应转换为实数,但仍将保留 而是一个字符串。对于一般用途来说,值类型太多了 解决方案是只看价值本身能够解释 所有的人。例如,12/10/09可能是一个日期,但它是以MM/DD/YY为单位的吗, YY/MM/DD或DD/MM/YY表格?事实上,单凭价值往往是不够的 可靠地确定如何将值转换为内部数据类型。 NestedText通过保留值的原始形式来避免这些问题 并允许最终应用程序在更多上下文中做出决定 可以帮助指导转换。如果一个值需要一个价格, 然后2美元将被检查并相应地转换。同样,本地 约定以及一个特定值的日期被期望的事实 允许12/10/09正确验证和转换。这个过程 验证和转换被称为对数据应用模式。 有诸如PydanticVoluptuous可用使 这个过程简单可靠。在

贡献

此包包含NestedText和 测试套件。要使NestedText执行 广受欢迎。如果你喜欢这种格式,请考虑投稿 其他实现。在

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

推荐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>