Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 快速重复使用bz2.bz2文件进行酸洗_Python_Python 2.7_Numpy_Pickle_Bz2 - Fatal编程技术网

Python 快速重复使用bz2.bz2文件进行酸洗

Python 快速重复使用bz2.bz2文件进行酸洗,python,python-2.7,numpy,pickle,bz2,Python,Python 2.7,Numpy,Pickle,Bz2,我反复地酸洗多个对象,但不是连续地。但事实证明,pickle输出文件太大(每个文件大约256MB) 所以我尝试了bz2.BZ2File而不是open,每个文件变成了1.3MB。(是的,哇。)问题是它需要太长时间(比如95秒酸洗一个物体),我想加快速度 每个对象都是一个字典,它们中的大多数都有相似的结构(或层次结构,如果这能更好地描述它的话:几乎相同的一组键,与每个键对应的每个值通常都有一些特定的结构,依此类推)。很多字典值都是numpy数组,我认为那里会出现很多零 你能给我一些建议让它快点吗 谢

我反复地酸洗多个对象,但不是连续地。但事实证明,pickle输出文件太大(每个文件大约256MB)

所以我尝试了
bz2.BZ2File
而不是
open
,每个文件变成了1.3MB。(是的,哇。)问题是它需要太长时间(比如95秒酸洗一个物体),我想加快速度

每个对象都是一个字典,它们中的大多数都有相似的结构(或层次结构,如果这能更好地描述它的话:几乎相同的一组键,与每个键对应的每个值通常都有一些特定的结构,依此类推)。很多字典值都是numpy数组,我认为那里会出现很多零

你能给我一些建议让它快点吗

谢谢大家!

我最终使用了,这是一种非常快速的压缩算法

有,可轻松安装:

pip install lz4

bzip2
众所周知速度很慢,您是否尝试过
zlib
?不清楚你在问什么,使用多线程或多处理来加速?@georgexsh谢谢你的评论。我切换到lz4(如我在回答中所述),它正好解决了我的整个问题。压缩时间减少到每个对象不到一秒。很高兴了解这一点