我需要弄清楚如何将文件输出写入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压缩来排除它.这部分是因为我听说使用同一模块进行解压缩也很慢.