![]() |
1
2
讽刺的是,Python中已经内置了一个非常合理的增量bz2编码器。创建一个“类似文件”的类并不困难,它可以自动执行正确的操作。
:在本例中,我以追加模式打开了文件;将多个压缩流追加到一个文件可以很好地使用
|
![]() |
2
1
在将其写入文件之前,我会尝试在内存中构建一个更大的字符串(如果担心性能的话,也可以是字符串列表)。一个好的大小拍摄将是900K(或更多),因为这是块大小bzip2使用 |
![]() |
3
0
在我的系统中,这会产生一个12字节大小的文件。让我们看看它包含了什么:
我想bunzip2也在做同样的事情。所以实际上你的文件是压缩的,比它包含的数据小得多。但是当您通过bunzip2运行它时,只会返回您写入它的第一组记录;其余的记录将被丢弃。 |
![]() |
4
0
我不确定这与编解码器的方式有多大区别,但是如果您使用gzip模块中的GzipFile,您可以以增量方式附加到该文件,但它不会很好地压缩,除非您一次写入大量数据(可能大于1 KB)。这就是压缩算法的本质。如果您正在写入的数据不是非常重要(即,如果您的进程死亡,您可以处理丢失数据的问题),那么您可以编写一个缓冲GzipFile类来包装导入的类,该类将写出更大的数据块。 |
![]() |
Alex Multifabrika · 设置IIS10以提供预压缩文件 7 年前 |
![]() |
Brendan Gooden · 无法将值附加到字符串C# 7 年前 |
![]() |
noobcoder · 如何为PIGZ(并行gzip)准备放气流? 7 年前 |
|
olmedocr · 在firebase上使用gzip压缩 7 年前 |
![]() |
Rudraksh Pathak · Gzip压缩不适用于XHR请求 7 年前 |
![]() |
RightmireM · 逐行写入gzip文件 7 年前 |