序列化的简单格式,类似于CSV。不适用于大多数一般用途。
ucbreq的Python项目详细描述
简单的python模块用于加载和转储req格式的结构,非常 简单{string:(string | list(string))}格式。在
解析如下结构:
Foo|Bar Baz_1|alpha Baz_2|beta Baz_3|gamma
进入:
^{pr2}$load和dump方法将保持给定的编码,并且不会正确 关于错误。如果传递一个utf-8文件句柄进行加载,您将得到unicode输出。 如果您传递一个bytestring文件句柄来加载,您将得到bytestring输出。 加载是相同的,但是使用unicode或bytestring输入。dump会试试的 执行相同的操作,转储将尝试确定类型。所有的口述和 数组应该是完全同质的(或者完全由 unicode字符串或完全由字节字符串组成)。不强制执行 客户端未定义,将来可能是一个显式错误。 另一个未定义的操作是在任何字符串中嵌入新行。在
唯一真正模棱两可的情况是当给出一个空的dict时转储。在这种情况下, 转储将返回空的str对象。在
对于解析为列表的结构,逻辑如下:
- 任何以键结尾的下划线和非负整数都将自动强制 列在一个列表中。在
- 整数的实际值并不重要。他们会被命令的 根据他们的十进制顺序。洞和起始索引不受影响。在
- 如果一个字段有给定的整数索引,但也有一个非索引字段 相同的名称,非索引字段将被赋予最高优先级(本质上是 索引-1)
- 默认情况下,列表的输出是1索引的,但这可以通过kwarg进行更改。 如果出于任何原因需要孔,则应将数组预处理为 正则dict映射。在
默认情况下,此格式与订单无关,但您可以使用OrderedDict或 维持阅读和写作秩序的东西。这意味着倾倒 加载一个对象(反之亦然)并不能保证得到完全相同的结果 表示法,但在一行中做任何3个交替操作通常应该。在
- 项目
标签: