小编bu1*_*zer的帖子

Python相当于使用管道将文件输出到Perl中的gzip

我需要弄清楚如何将文件输出写入Python中的压缩文件,类似于下面的双线程:

open ZIPPED, "| gzip -c > zipped.gz";
print ZIPPED "Hello world\n";
Run Code Online (Sandbox Code Playgroud)

在Perl中,这使用Unix gzip将打印到ZIPPED文件句柄的任何内容压缩到文件"zipped.gz".

我知道如何使用"import gzip"在Python中执行此操作,如下所示:

import gzip
zipped = gzip.open("zipped.gz", 'wb')
zipped.write("Hello world\n")
Run Code Online (Sandbox Code Playgroud)

但是,这非常缓慢.根据分析器,使用该方法占用了我运行时间的90%,因为我将200GB的未压缩数据写入各种输出文件.我知道文件系统可能是问题的一部分,但我想通过使用Unix/Linux压缩来排除它.这部分是因为我听说使用同一模块进行解压缩也很慢.

python compression gzip pipe filehandle

9
推荐指数
2
解决办法
4252
查看次数

标签 统计

compression ×1

filehandle ×1

gzip ×1

pipe ×1

python ×1