使用Python3解壓gz、tar、tgz、zip、rar五種格式的壓縮檔案例子
使用Python3解壓如下五種壓縮檔案:gz、tar、tgz、zip、rar
簡介
gz: 即gzip,通常只能壓縮一個檔案。與tar結合起來就可以實現先打包,再壓縮。
tar: linux系統下的打包工具,只打包,不壓縮
tgz:即tar.gz。先用tar打包,然後再用gz壓縮得到的檔案
zip: 不同於gzip,雖然使用相似的演算法,可以打包壓縮多個檔案,不過分別壓縮檔案,壓縮率低於tar。
rar:打包壓縮檔案,最初用於DOS,基於window作業系統。壓縮率比zip高,但速度慢,隨機訪問的速度也慢。
例子
import gzip import os import tarfile , zipfile, rarfile from library.utils.file import get_filetype from library.utils.path import make_dir from library.utils.type_conv import random_str def uncompress(src_file, dest_dir): result = get_filetype(src_file) if not result[0] : return (False, result[1], '') filefmt = result[1] result = make_dir(dest_dir) if not result : return (False, '建立解壓目錄失敗', filefmt) if filefmt in ('tgz', 'tar') : try : tar = tarfile.open(src_file) names = tar.getnames() for name in names: tar.extract(name, dest_dir) tar.close() except Exception as e : return (False, e, filefmt) elif filefmt == 'zip': try : zip_file = zipfile.ZipFile(src_file) for names in zip_file.namelist(): zip_file.extract(names, dest_dir) zip_file.close() except Exception as e : return (False, e, filefmt) elif filefmt == 'rar' : try : rar = rarfile.RarFile(src_file) os.chdir(dest_dir) rar.extractall() rar.close() except Exception as e : return (False, e, filefmt) elif filefmt == 'gz' : try : f_name = dest_dir + '/' + os.path.basename(src_file) # 獲取檔案的名稱,去掉 g_file = gzip.GzipFile(src_file) # 建立gzip物件 open(f_name, "w+").write(g_file.read()) # gzip物件用read()開啟後,寫入open()建立的檔案中。 g_file.close() # 關閉gzip物件 result = get_filetype(src_file) if not result[0] : new_filefmt = '未知' else : new_filefmt = result[1] return (True, '解壓後的檔案格式為:' + new_filefmt, filefmt) except Exception as e : return (False, e, filefmt) else : return (False, '檔案格式不支援或者不是壓縮檔案', filefmt) return (True, '', filefmt)
相關推薦
使用Python3解壓gz、tar、tgz、zip、rar五種格式的壓縮檔案例子
使用Python3解壓如下五種壓縮檔案:gz、tar、tgz、zip、rar 簡介 gz: 即gzip,通常只能壓縮一個檔案。與tar結合起來就可以實現先打包,再壓縮。 tar: linux
linux 下所有格式打包解壓方法(tar、bz2、rar)詳解
01-.tar格式 解包:[*******]$ tar xvf FileName.tar 打包:[*******]$ tar cvf FileName.tar DirName(注:tar是打包,不是壓縮!) 02-.gz格式 解壓1:[*******]$ gunzip FileName.gz 解壓2:[**
貼一段java讀取hdfs 解壓gz zip tar.gz保存到hdfs的代碼
arc edi res 解壓 文件路徑 ado trace pub config package main.java;import java.io.*;import java.util.LinkedList;import java.util.List;import java
linux下 zip解壓 tar解壓 gz解壓 bz2等各種解壓檔案命令
大致總結了一下linux下各種格式的壓縮包的壓縮、解壓方法。但是部分方法我沒有用到,也就不全,希望大家幫我補充,我將隨時修改完善,謝謝! .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirNam
升級Linux tar &&解決某用tar解壓失敗的tar包
更新 文件名 發現 目錄 ftp 估計 決定 bin div 今天解壓個文件,出來很多這樣的: /bin/tar: Ignoring unknown extended header keyword `SCHILY.dev‘/bin/tar: Ignoring unknown
Linux命令(十五) 打包或解壓文件 tar
常用 特定 -- 返回 相關信息 href -c 壓縮文件 標識 目錄 1.命令簡介 2.常用參數介紹 3.實例 4.直達底部 命令簡介 tar 命令用於將文件打包或解壓,擴展名一般為 ".tar" ,指定特定的參數可以調用 gzip 或 bzip2 制作壓縮包或解
Python3 解壓序列
所有 字符 class key ict true 情況 wan 中間 一般情況 x,y,z = 1,2,3 print("x:",x) # x:1 print("y:",y) # y:2 print("z:",z) # z:3 針對元祖 name = ("qiaob
Linux中使用gzip來壓縮/解壓 *.gz檔案
gzip 是linux中常見的壓縮/解壓工具,最常見的使用物件是*.gz格式的檔案,這裡簡單介紹下它最常見的用法, GZIP(1) General Commands Manual GZIP(1)NAME gzip, gunzip, zcat - compress
linux怎樣解壓.gz檔案
gzip -d語 法:gzip [-acdfhlLnNqrtvV][-S <壓縮字尾字串>][-<壓縮效率>][--best/fast][檔案...] 或 gzip [-acdfhlLnNqrtvV][-S <壓縮字尾字串>][-<壓縮效率>][--best/f
Linux_gzip/gunzip 命令 解壓.gz 檔案
gzip命令用來壓縮檔案。 gzip是個使用廣泛的壓縮程式,檔案經它壓縮過後,其名稱後面會多處“.gz”副檔名。 gzip是在Linux系統中經常使用的一個對檔案進行壓縮和解壓縮的命令,既方便又好用。 gzip不僅可以用來壓縮大的、較少使用的檔案以節省磁碟空間,還可以和ta
linux 批量解壓gz bz2檔案
一、批量解壓bz2檔案 find -maxdepth 1 -name "*.bz2"|xargs -i tar xvjf {} 這條命令可解壓當前目錄下的所有bz2檔案 批量解壓是比較鬱悶的事,以前嘗試各種方法,甚至用指令碼迴圈語句解壓都不行 現在發現這條命令可以
aix解壓gz包
Linux上解壓為tar -zvxf file.tar.gz,但是這個命令到AIX上不好用。 goolge了下AIX的解壓命令: gzip -dc file.tar.gz |tar -xvf - tar.gz file format o壓縮 §# tar cv
tar、tgz、gz檔案批量解壓方法
我是用for i in $(ls *.tgz);do tar xvf $i;done 批量解壓的tgz檔案的我是用for i in $(ls *.gz);do gzip -d $i;done批量解壓的gz檔案的。由於linux的tar命令不支援批量解壓,所以很多網友編寫了好多支援批量解壓的shell命令,收集
java實現對zip、tar、gzip(gz)的壓縮與解壓
以下是一個工具類: import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream;
linux解壓zip、bz、bz2、z、gz、tar(解包)
zip: 壓縮: zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目錄>][-ll][-n <字尾字串>][-t <日期時間>][-<壓縮效率>][壓縮檔案][檔案...][-i <範本樣式>][-x &
Aix 壓縮、打包、解壓、解包 tar zip gz
tar是打包 zip和gz是壓縮 打包:tar -cf all.tar *.* 解包:tar -xvf *.tar 解壓zip檔案:jar xvf DB29.5_AIX.zip 解壓gz檔案:/usr/bin/gzip -d *.tar.gz
Linux作業系統中,*.zip、*.tar、*.tar.gz、*.tar.bz2、*.tar.xz、*.jar、*.7z等格式的壓縮與解壓
zip格式 壓縮: zip -r [目標檔名].zip [原檔案/目錄名] 解壓: unzip [原檔名].zip 注:-r引數代表遞迴 tar格式(該格式僅僅打包,不壓縮) 打包:tar -cvf [目標檔名].tar [原檔名/目錄名] 解包:tar -xvf [原檔名].tar
linux下各種打包與壓縮檔案字尾及其解包解壓縮方法.gz、.tar.gz、tgz...
對於剛剛接觸Linux的人來說,一定會給Linux下一大堆各式各樣的檔名給搞暈。別個不說,單單就壓縮檔案為例,我們知道在Windows下最常見的壓縮檔案就只有兩種,一是,zip,另一個是.rap。可是Linux就不同了,它有.gz、.tar.gz、tgz、bz2、.Z、.tar等眾多的壓縮檔名,此外windo
指令篇:文件與文件系統的壓縮與解壓與打包(歸檔)與解壓___gzip、zcat;bzip2、bzcat;zip; tar
roo 壓縮命令 過時 bsp 演示 組合 localhost 打包 mov 一、文件與文件系統的壓縮: 1、單文件的四種壓縮命令: ①、Compress (過時了,不做過多說明) ②、gzip,zcat (gzip:壓縮。zcat:查看)
Linux解壓rar、zip、war、tar文件
tar lin target war detail linux中 article tails itl 在Linux上解壓常見文件的命令: rar文件:rar e xxx.rar zip文件:unzip -xzvf xxx.zip war包:jar -xvf xxx.war