【发布时间】:2018-04-27 04:01:26
【问题描述】:
我的脚本生成了一些非常非常大的文件,我正在尝试以二进制格式打印/保存输出以尽可能减小文件大小!
该脚本每次生成五个值,例如:
$a1 = 1.64729
$a2 = 4.33329
$a3 = 3.55724
$a4 = 1.45759
$a5 = 7.474700
它在输出中打印如下:
A:1.64729,4.33329,3.55724,1.45759,7.474700
我不确定这是否是最好的方法,但我想在打印到输出时打包每一行!我在 Perl 中使用了 pack/unpack 内置函数!
我查看了 perldoc,但我不明白哪些格式说明符是正确的 (???)!
#!/usr/bin/perl
...
@A = ($a1,$a2,$a3,$a4,$a5);
print pack ("???", ("A:", join(",", map { sprintf "%.1f", $_ } @A)), "\n";
【问题讨论】:
-
您最好只对整个文件使用压缩。您可以在编写时压缩它,并在必要时在阅读时解压缩它。 “非常非常大”到底有多大?
-
1000个文件,每个压缩文件1.7G
标签: perl