当前位置:首页 » 文件管理 » pythongzip解压

pythongzip解压

发布时间: 2025-08-26 14:55:10

linux怎样解压.gz文件

当在备份重要文件和通过网络发送大文件的时候,对文件进行压缩非常有用。请注意,压缩一个已经压缩过的文件会增加额外开销,因此你将会得到一个更大一些的文件。所以,请不要压缩已经压缩过的文件。在 GNU/Linux 中,有许多程序可以用来压缩和解压缩文件。在这篇教程中,我们仅学习其中两个应用程序。

在类 Unix 系统中,最常见的用来压缩文件的程序是:

  • gzip

  • bzip2

  • 1. 使用 gzip 程序来压缩和解压缩文件

    gzip是一个使用 Lempel-Ziv 编码(LZ77)算法来压缩和解压缩文件的实用工具。

    1.1 压缩文件

    如果要压缩一个名为ostechnix.txt的文件,使之成为 gzip 格式的压缩文件,那么只需运行如下命令:

  • $ gzip ostechnix.txt

  • 上面的命令运行结束之后,将会出现一个名为ostechnix.txt.gz的 gzip 格式压缩文件,代替了原始的ostechnix.txt文件。

    gzip命令还可以有其他用法。一个有趣的例子是,我们可以将一个特定命令的输出通过管道传递,然后作为gzip程序的输入来创建一个压缩文件。看下面的命令:

  • $ ls -l Downloads/ | gzip > ostechnix.txt.gz

  • 上面的命令将会创建一个 gzip 格式的压缩文件,文件的内容为Downloads目录的目录项。

    1.2 压缩文件并将输出写到新文件中(不覆盖原始文件)

    默认情况下,gzip程序会压缩给定文件,并以压缩文件替代原始文件。但是,你也可以保留原始文件,并将输出写到标准输出。比如,下面这个命令将会压缩ostechnix.txt文件,并将输出写入文件output.txt.gz。

  • $ gzip -c ostechnix.txt > output.txt.gz

  • 类似地,要解压缩一个gzip格式的压缩文件并指定输出文件的文件名,只需运行:

  • $ gzip -c -d output.txt.gz > ostechnix1.txt

  • 上面的命令将会解压缩output.txt.gz文件,并将输出写入到文件ostechnix1.txt中。在上面两个例子中,原始文件均不会被删除。

    1.3 解压缩文件

    如果要解压缩ostechnix.txt.gz文件,并以原始未压缩版本的文件来代替它,那么只需运行:

  • $ gzip -d ostechnix.txt.gz

  • 我们也可以使用gunzip程序来解压缩文件:

  • $ gunzip ostechnix.txt.gz

  • 1.4 在不解压缩的情况下查看压缩文件的内容

    如果你想在不解压缩的情况下,使用gzip程序查看压缩文件的内容,那么可以像下面这样使用-c选项:

  • $ gunzip -c ostechnix1.txt.gz

  • 或者,你也可以像下面这样使用zcat程序:

  • $ zcat ostechnix.txt.gz

  • 你也可以通过管道将输出传递给less命令,从而一页一页的来查看输出,就像下面这样:

  • $ gunzip -c ostechnix1.txt.gz | less

  • $ zcat ostechnix.txt.gz | less

  • 另外,zless程序也能够实现和上面的管道同样的功能。

  • $ zless ostechnix1.txt.gz

  • 1.5 使用 gzip 压缩文件并指定压缩级别

    gzip的另外一个显着优点是支持压缩级别。它支持下面给出的 3 个压缩级别:

  • 1– 最快 (最差)

  • 9– 最慢 (最好)

  • 6– 默认级别

  • 要压缩名为ostechnix.txt的文件,使之成为“最好”压缩级别的 gzip 压缩文件,可以运行:

  • $ gzip -9 ostechnix.txt

  • 1.6 连接多个压缩文件

    我们也可以把多个需要压缩的文件压缩到同一个文件中。如何实现呢?看下面这个例子。

  • $ gzip -c ostechnix1.txt > output.txt.gz

  • $ gzip -c ostechnix2.txt >> output.txt.gz

  • 上面的两个命令将会压缩文件ostechnix1.txt和ostechnix2.txt,并将输出保存到一个文件output.txt.gz中。

    你可以通过下面其中任何一个命令,在不解压缩的情况下,查看两个文件ostechnix1.txt和ostechnix2.txt的内容:

  • $ gunzip -c output.txt.gz

  • $ gunzip -c output.txt

  • $ zcat output.txt.gz

  • $ zcat output.txt

  • 如果你想了解关于gzip的更多细节,请参阅它的 man 手册。

  • $ man gzip

  • 2. 使用 bzip2 程序来压缩和解压缩文件

    bzip2和gzip非常类似,但是bzip2使用的是 Burrows-Wheeler 块排序压缩算法,并使用哈夫曼(Huffman)编码。使用bzip2压缩的文件以 “.bz2” 扩展结尾。

    正如我上面所说的,bzip2的用法和gzip几乎完全相同。只需在上面的例子中将gzip换成bzip2,将gunzip换成bunzip2,将zcat换成bzcat即可。

    要使用bzip2压缩一个文件,并以压缩后的文件取而代之,只需运行:

  • $ bzip2 ostechnix.txt

  • 如果你不想替换原始文件,那么可以使用-c选项,并把输出写入到新文件中。

  • $ bzip2 -c ostechnix.txt > output.txt.bz2

  • 如果要解压缩文件,则运行:

  • $ bzip2 -d ostechnix.txt.bz2

  • 或者,

  • $ bunzip2 ostechnix.txt.bz2

  • 如果要在不解压缩的情况下查看一个压缩文件的内容,则运行:

  • $ bunzip2 -c ostechnix.txt.bz2

  • 或者,

  • $ bzcat ostechnix.txt.bz2

  • 如果你想了解关于bzip2的更多细节,请参阅它的 man 手册。

  • $ man bzip2

  • 总结

    在这篇教程中,我们学习了gzip和bzip2程序是什么,并通过 GNU/Linux 下的一些例子学习了如何使用它们来压缩和解压缩文件。接下来,我们将要学习如何在 Linux 中将文件和目录归档。

    干杯!

② 怎么样python爬虫进行此网站爬取

  • 加密的,解密方法在JS里面可以弄出来。

  • 首先要AES解密,可以【Python:import Crypto.Cipher.AES】包,解密mode是CFB,seed是"userId:"+uid+":seed"的SHA256值,解密的key是seed[0:24],iv是seed[len(seed)-16:]。

  • 如果没有登录,uid就是用的"anyone",这时候的seed是"",也就是key为"61581AF471B166682A37EFE6",iv为"C8F203FCA312AAAB"。

  • 解密后文件是压缩过的,解压即可得到一个JSON。这部分解压我没仔细看他的算法,好像是gzip,直接用【Python:import gzip】解压有点出错,可能没用对或者不是这个算法,你在研究一下。第二种投机的方法就是,可以通过【Python:import execjs】直接调用他的pako.js文件的JS的inflate()函数来解压这块。JS代码混淆后看起来是非常难懂的,使用这种做法可以不用太看懂加密的算法,效率当然写Python实现这个解密算法低1点咯。

  • 最后的JSON再用【Python:import demjson】解析,text的value就是文档。

热点内容
算法设计与分析习题答案 发布:2025-08-26 16:41:06 浏览:631
车载中控安卓机如何安装u盘听歌 发布:2025-08-26 16:36:04 浏览:39
解压密码汉字 发布:2025-08-26 16:34:56 浏览:718
文档怎样上传 发布:2025-08-26 16:15:00 浏览:303
疯狂python讲义pdf 发布:2025-08-26 15:33:36 浏览:303
苹果三代通透模式在安卓怎么关 发布:2025-08-26 15:19:20 浏览:152
thinkphp缓存清除 发布:2025-08-26 15:18:15 浏览:827
linux的未来 发布:2025-08-26 15:14:17 浏览:228
龙之谷竞技场脚本 发布:2025-08-26 15:06:09 浏览:188
根服务器如何搭建 发布:2025-08-26 15:02:23 浏览:466