導航:首頁 > 文件目錄 > pythongzip壓縮文件

pythongzip壓縮文件

發布時間:2023-07-23 16:49:25

『壹』 python怎樣壓縮和解壓縮ZIP文件

1、python使用zipfile模塊壓縮和解壓ZIP文件
2、讀取zip文件
首先,通過zipfile模塊打開指定zip文件,如:
zpfd = zipfile.ZipFile(path, mode='r')
對於zipfile,其標志與open所用的打開文件標志有所不同,不能識別 'rb'。
然後,讀取zip文件中的內容,zipfile對象提供一個read(name)的方法,name為zip文件中的一個文件入口,執行完成之後,將返回讀出的內容,如:
for filename in zpfd.namelist():
tmpcont = zpfd.read(filename)
print 'len(tmpcont)', 'tmpcont'
需要注意的是,讀取zip文件時,只能讀取內容
3、寫入zip文件
首先,需要zipfile模塊寫打開或創建zip文件,如:
zpfd = zipfile.ZipFile(path, mode='w')
寫打開是標志可以為'w'或'a'('a'表示寫入一個zip文件), 或者傳入第三個參數cmopression壓縮標志
compression=zipfile.ZIP_DEFLATED 需要導入zlib模塊
compression=zipfile.ZIP_STORED則表示只對文件進行打包,並不壓縮

入有兩種方式,一種是直接寫入一個已經存在的文件,可使用zipfile對象中write(filename, arcname,
compress_type)第一個參數為文件名,第二個參數指寫入zip文件中的文件名,默認與filename一致,第三個參數壓縮標志可以覆蓋打開
zipfile時的使用參數;另一種是寫入一個字元串,可使用zipfile對象中的writestr(zinfo_or_arcname,
bytes),第一個參數是zipinfo對象或寫到zip文件中的壓縮名,第二個參數是待寫入的字元串
4、最後,對於打開的zipfile對象需要進行關閉,從而使得寫入內容真正寫入磁碟,即:
zpfd.close()

『貳』 文件壓縮

將多個文件或目錄合並成為一個特殊的文件

減小文件的體積
加快資源的傳輸
節省網路的帶寬

windows: rar zip 其實支持很多類型的壓縮
linux: zip tar.gz ....
windows與linux互通 建議使用: zip

格式 壓縮工具
.zip zip壓縮工具
.gz gzip壓縮工具,只能壓縮文件,會刪除原文件(通常配合tar使用)
.bz2 bzip2壓縮工具,只能壓縮文件,會刪除原文件(通常配合tar使用)
.tar.gz 先使用tar命令歸檔打包,然後使用gzip壓縮
.tar.bz2 先使用tar命令歸檔打包,然後使用bzip壓縮

Linux gzip工具使用
1.gzip打包與壓縮 ,僅對文件有效.
gzip filename 打包
gzip -d filename.gz 解包
zcat filename.gz 查看包內文件的內容

linux本身沒有gzip命令,需yum install gzip -y進行安裝

gzip file #對文件進行壓縮
zcat file.gz #查看gz壓縮後的文件
gzip -d file.gz #解壓gzip的壓縮包

gzip CentOS-Vault.repo --> CentOS-Vault.repo.gz
zcat CentOS-Vault.repo.gz --> 查看不想解壓的壓縮包

默認情況下沒有zip和unzip工具,需要進行安裝 yum install zip unzip -y

1.壓縮文件為zip包
zip filename.zip filename
unzip -l filename.zip #查看壓縮包內容

2.壓縮目錄為zip包
zip -r dir.zip dir/

3.查看zip壓縮包文件是否完整
zip -T filename.zip
test of filename.zip OK

4.不解壓壓縮查看壓縮包中的內容
unzip -l filename.zip
unzip -t filename.zip #檢測文件是 否都ok

5.解壓zip文件包, 默認解壓至當前目錄
unzip filename.zip

6.解壓zip內容至/opt目錄
unzip filename.zip -d /opt/

tar是linux下最常用的壓縮與解壓縮, 支持文件和目錄的壓縮歸檔

c #創建新的歸檔文件
x #對歸檔文件解包
t #列出歸檔文件里的文件列表
f #指定包文件名,多參數f寫最後
z #使用gzip壓縮歸檔後的文件(.tar.gz)
j #使用bzip2壓縮歸檔後的文件(.tar.bz2)
J #使用xz壓縮歸檔後的文件(tar.xz)
C #指定解壓目錄位置
X #排除多個文件(寫入需要排除的文件名稱)
h #打包軟鏈接
--exclude #在打包的時候寫入需要排除文件或目錄

cjf #打包tar.bz格式 *
cJf #打包tar.xz格式 使用田少,不考慮
zxf #解壓tar.gz格式 *
jxf #解壓tar.bz格式 *

常用
czf #打包tar.gz格式 ( )
tf #查看壓縮包內容
xf #自動選擇解壓模式 (
)

將文件或目錄進行打包壓縮

tar czf test.tar.gz test/ test2/ #以gzip方式壓縮
tar cjf test.tar.bz2 dir.txt dir/ #以bz2方式壓縮

tar tf test.tar.gz
tar tf test.tar.bz2
tar tf test.tar.xz

tar xf test.tar.gz
tar xf test.tar.bz2
tar xf test.tar.xz
tar xf root.tar.gz -C /tmp/ #解壓至指定目錄

find tmp/ -type f | xargs tar czf tmp.tar.gz
tar czf tmp.tar.gz $(find /tmp/ -type f)

tar czf etc.tar.gz /etc/ --exclude=etc/services
tar czf etc.tar.gz /etc/ --exclude=etc/passwd -exclude=etc/shadow

cat pc.txt
etc/gshadow
etc/gshadow-
etc/passwd
etc/passwd
etc/shadow
etc/shadow
etc/security/opasswd
etc/pam.d/passwd
tar czXf pc.txt etc.tar.gz /etc/

yum install mariadb-server
systemctl start mariadb
mkdir /backup

tar cJf /backup/mysql.tar.xz /var/lib/mysql
tar xf /backup/mysql.tar.xz -C /

cd /var/lib/mysql
tar cJf /backup/mysql.tar.xz *
tar tf /backup/mysql.tar.xz
tar xf /backup/mysql.tar.xz C /var/lib/mysql

閱讀全文

與pythongzip壓縮文件相關的資料

熱點內容
數據標注哪裡可以接 瀏覽:482
在家自學編程下什麼學 瀏覽:705
最近很火的app軟體是什麼軟體 瀏覽:862
ai文字工具 瀏覽:157
蘭博玩游戲路徑怎麼選擇正確文件 瀏覽:972
淘寶直通車恢復老版本 瀏覽:510
播放草莓的圖片我都文件 瀏覽:55
微信大文件打不開 瀏覽:767
家裝合同准備哪些文件 瀏覽:296
應用bat合並excel文件 瀏覽:984
迅雷影音文件夾 瀏覽:109
makefile的文件路徑 瀏覽:392
計算機程序文件名擴展名為 瀏覽:982
網路游戲推廣策劃案 瀏覽:609
替換所有文件內容的代碼 瀏覽:960
不是常用數據模型有哪些 瀏覽:426
aspcms版本號 瀏覽:835
安卓怎麼用數據流量下載軟體 瀏覽:553
大眾手動空調數據流通道號是多少 瀏覽:303
手機qq令牌 瀏覽:737

友情鏈接