當前位置:首頁 » 文件管理 » 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 瀏覽:630
車載中控安卓機如何安裝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 瀏覽:301
蘋果三代通透模式在安卓怎麼關 發布:2025-08-26 15:19:20 瀏覽:150
thinkphp緩存清除 發布:2025-08-26 15:18:15 瀏覽:825
linux的未來 發布:2025-08-26 15:14:17 瀏覽:226
龍之谷競技場腳本 發布:2025-08-26 15:06:09 瀏覽:186
根伺服器如何搭建 發布:2025-08-26 15:02:23 瀏覽:464