- 主题:python有办法并行写入一个zip文件吗?
【 在 Madlee 的大作中提到: 】
: multiprocessing生成的数据,希望都写到同一个zip文件里,ZIP_LZMA方式压缩,现在发现瓶颈在写入。有办法并行写入zip文件吗?
: 谢谢。
这个不太行, 也没有意义, zip文件就像像归档的磁带, 是顺序存储的, 随机存储性能很差。
一定要并行, 那还不如各自压缩成包, 最好在用只存储不压缩的方式, 归档到一个zip里面。
如果, 一定要并行, 还是用kv数据库吧, 平行性好多了。
--
FROM 124.126.1.*
【 在 hgoldfish 的大作中提到: 】
: zip 不是固实压缩。可以随机访问。楼主的需求可以做到。但不好做。
: 主要原因是在压缩之前,并不知道最终压缩得到多少字节。
: 如果是 tar 就做不到了。
: ...................
从我的感觉看, 一个zip文件, 增删文件, 除非在末尾,
如果, 从中间删除增加一些文件, 大概率是需要从头到尾重新生成,所以,
这个随机估计仅仅限于读取。
--
FROM 124.126.2.*
【 在 JulyClyde 的大作中提到: 】
: 你的感觉是错的哦
: zip的目录在尾部。可以单独更新删除内部文件
: 实质上是新增一段新的在后面,废弃掉旧的,但是并不回收空间
: ...................
这应该是个好消息,
不知到哪个python库有这个支持?
我之前, 每天交易结束,下载当天股票的tick数据,
数据是一个大的zip文件, 每一个文件是里面的一个子文件,
想增量添加到每个股票子文件, 根本做不到,每次删除会导致重新生成。
现在的方法, 只能是放到一个目录里面, 然后每个股票一个压缩包,
每天往压缩包里面追加。
--
FROM 124.126.2.*
【 在 hgoldfish 的大作中提到: 】
: 这我就不知道了啊。。
: 不过从压缩率角度考虑。使用公用的字典能够提供更高的压缩率。
:
不是的, 据我的了解, 其实,压缩算法大概率是自适应字典, 共用字典也有,但是不大,
也不会仅仅使用公用字典。 这个也可能导致,
字典和前面压缩内容相关,前面的改动会对后面有影响。
--
FROM 124.126.2.*