[Ubuntu-zh] 想请教下究竟为什么二进制数据文件使用效率比可读文件高呢?

Shellexy Wang jhuangjiahua在gmail.com
星期一 九月 12 14:03:38 UTC 2011


别理会那些建议,

要人类读的话直接 json 模块 dump 出来就是了

自带 json 模块用 json.dumps(obj, ensure_ascii=0, indent=4) 这参数会输出可读性非常好的格式化文本
要兼顾些速度的话就尝试用 cjson 模块。

而如果不需要人类读的话,不妨直接用 pickle / cPickle 模块 dump 出对象
(版本 0 是文本格式,版本 1 是紧凑的二进制格式

2011/9/12 tvdbukrf inuyasha <4entertrifle at gmail.com>

> 编的一个程序一直都是用别的程序导出的可读文件作为数据文件,最近有人建议我直接把那个程序的数据文件给unpack效率会更高。
> 但为什么高又不甚清楚,Google一番后也没找到什么答案,因此冒昧的在这提问下,虽然跟ubuntu没啥关系就是~~
>
> 比如用python
> 我想如果是可读文件,直接就能拿来用了,比如readline起来挺方便的。
>
>
> 如果是二进制文件,读取起来确实是比可读文件快,可是似乎没太多办法去操作,最简单的四则运算都觉得挺麻烦,似乎也没啥module?得搞清楚数据结构后再struct.unpack。
> 这样下来难道后者就一定比前者快么?
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/ubuntu-zh/attachments/20110912/cc420859/attachment.html>


关于邮件列表 ubuntu-zh 的更多信息