用于读取和写入.son文件的工具

son的Python项目详细描述


SON顺序对象表示法

pythonpypilicensecode style

这是什么?

son是一种基于JSON并添加一个 受YAML启发的特性:对象与 ---。可选地,分隔符===可以在每个son文件中使用一次来分隔 元数据。

为什么son

虽然json非常适合存储结构化数据,但它本质上是不可能的 将数据的新部分添加到文件中而不先读取它。上的yaml文件 另一方面,由{{CD1}}定界符可自扩展,但具有灵活性。 YAML提供的功能使得文件解析效率低下因此他们不适合 存储大量数据

son通过允许json对象与---连接来填补空白。它 从而将json的速度和效率与顺序扩展性结合起来 山药,见example它进一步增加了从 使用===的实际数据。

son不允许not覆盖数据。为了避免意外数据丢失, metada只能写入新文件,而数据只能附加到文件

谁需要这个?

son源于存储生成的计算数据的需要 一部分一部分地在计算机上。要求是:

  • 可能被人读到
  • 可以存储任意数据结构,包括元数据,
  • 易于计算机编写和分析,
  • 高效地解析以允许大小高达GB的文件(使用YAML解析需要永远的时间)
  • 循序渐进、廉洁,
  • 抗数据丢失。

示例

这是一个有效的son字符串:

{"purpose":"storebiographydata","version":0.1}==={"first name":"Hildegard","secondname":"Kneef","age":93}---{"firstname":"Wiglaf","secondname":"Droste","age":57}

它将被解析为元数据对象,以及包含

importsonmetadata,data=son.load('file.son')

变更日志

v.0.3.2:修复在ipython控制台中交互工作的问题

v.0.3.1:在读取文件之前通知,这在需要一些时间时更有意义

v.0.3.0:支持读取压缩的.bz2.gz文件

v.0.2.5:progressbar仅在连接终端时显示(.isatty()

v.0.2.4:没有外部依赖关系的progressbar

v.0.2.3:progress.bar打印到stdout,而不是stderr

v.0.2.2:可选地保持详细,并显示带有progress包的progressbar(可选依赖项,使用pip install son[progress]安装)

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

推荐PyPI第三方库


热门话题
java搜索按钮不适用于我   java制作一个应用程序来打开您自己的文件扩展名   XMemcached中的java异步集   java无法在Android上使用HTML5 canvas touch   java是否可以用PHP为Restlet创建客户端?   java在主题中添加图标。AppCompat。光   java Safari错误,无法打开浏览器   java gson解析json值中commaseparatedvalue字符串中的项   java如何使用Quarkus在卡夫卡的同一主题中设置多个使用者   java组织。json。JSONException:在{main}()的第6个字符处的main后面应该是“:”   windowbuilder如何将Java文件导出到GATE developer   java这与安卓 studio ide问题有关,在更新我们的ide之后   java Android将活动加载到类中<?>对象   java如何在springdatajpa中使用DISTINCT、GROUP BY和ORDER BY?   使用jlink的java可复制构建