【发布时间】:2012-06-08 03:37:23
【问题描述】:
我有一个大小约为 500MB 的巨大文本文件。我尝试使用 Gzip 从 python 程序和命令行对其进行存档。但是,在这两种情况下,归档文件的大小约为 240MB,而在 Windows 中使用 WinRAR 归档时,归档文件的大小约为 450KB。我在这里缺少什么吗?为什么有这么大的差异,我能做些什么来达到类似的压缩水平?
我也用 Python 标记了它,因为任何与此相关的 Python 代码都会非常有帮助。
这是file的前3行:
$ head 100.txt -n 3
31731610:22783120;
22783120:
45476057:39683372;5879272;54702019;58780534;30705698;60087296;98422023;55173626;5607459;843581;11846946;97676518;46819398;60044103;48496022;35228829;6594795;43867901;66416757;81235384;42557439;40435884;60586505;65993069;76377254;82877796;94397118;39141041;2725176;56097923;4290013;26546278;18501064;27470542;60289066;43986553;67745714;16358528;63833235;92738288;77291467;54053846;93392935;10376621;15432256;96550938;25648200;10411060;3053129;54530514;97316324;
【问题讨论】:
-
这完全取决于使用的算法以及文件中的数据。
-
不同的算法,不同的黄油区。很明显,你点击了 WinRAR。
-
@CodeCaster 是的,我知道,文本文件主要由数字和':'组成。我只是想知道是否有可能实现与 WinRAR 和 Gzip 的输出大小差异很大的相同级别的归档。
-
我们可以查看文件吗?将 .rar 放入公共保管箱或其他东西 - 我很好奇。我想知道 gzip 是否不能很好地处理随机文本,它使用反向引用进行模式匹配,但也许你的文件是独一无二的,因为没有太多的引用。
-
@Tass:我从我的文件中添加了几行。如果您愿意,可以从这里下载文件:link
标签: python compression gzip archive winrar