這篇文章將為大家詳細(xì)講解有關(guān)Python如何解壓 rar、zip、tar文件,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

Q1 :如何解壓 rar 壓縮包文件?
A :
Step1:檢查是否有 rarfile 第三方庫,若沒有該模塊,則需要進(jìn)行安裝 ;
Step2:參考代碼如下:
import rarfile
import os
rar=rarfile.RarFile(filename, mode='r') # mode的值只能為'r'
# 判斷同名文件夾是否存在,若不存在則創(chuàng)建同名文件夾
if os.path.isdir(os.path.splitext(filename)[0]):
rf_list = rf.namelist() # 得到壓縮包里所有的文件
print('rar文件內(nèi)容', rf_list)
else:
os.mkdir(os.path.splitext(filename)[0])
rar.extractall(os.path.splitext(filename)[0]) # 解壓文件
rar.close() # 關(guān)閉文件,必須有,釋放內(nèi)存Q2 :如何解壓 zip 壓縮包文件?
A:
可以使用RPA設(shè)計(jì)器自帶的【zip 解壓】組件,編寫代碼,則可以參考如下(注意檢查是否 zipfile 第三方庫,設(shè)計(jì)器自帶,可直接調(diào)用):
import zipfile
import os
zip_file = zipfile.ZipFile(filename)
if os.path.isdir(os.path.splitext(filename)[0]):
zip_list = zip_file.namelist() # 得到壓縮包里所有文件
print('zip文件內(nèi)容', zip_list)
else:
os.mkdir(os.path.splitext(filename)[0])
for f in zip_list:
zip_file.extract(f, os.path.splitext(filename)[0]) # 循環(huán)解壓文件到指定目錄
zip_file.close()Q3 :如何解壓 tar 打包文件?
A:
注意是否安裝 tarfile 第三方庫,RPA設(shè)計(jì)器自帶,可直接調(diào)用:
import tarfile import os tar = tarfile.open(filename, mode = "r:gz") #"r:gz"表示 open for reading with gzip compression tar.extractall(path=os.path.splitext(filename)[0]) # 將tar.gz文件解壓到temp文件夾下 tar.close()
補(bǔ)充:python解壓文件、壓縮文件
一、文件解壓
文件解壓源碼如下:其中入?yún)閦ip包文件目錄,出參為解壓后文件夾目錄,如輸入 /tmp/1.zip,返回 /tmp/1/
import os
import zipfile
def unzip_resource(zip_path):
file_name = os.path.basename(zip_path)
file_dir = os.path.dirname(zip_path)
if os.path.splitext(zip_path)[1] == '.zip':
file_zip = zipfile.ZipFile(zip_path, 'r')
for resource_file in file_zip.namelist():
file_zip.extract(resource_file, file_dir + '/' + file_name.replace('.zip', ''))
file_path = zip_path.replace('.zip', '')
resource_path = file_path + '/'
return resource_path二、文件夾打包壓縮
文件夾打包源碼如下:其中入?yún)槲募A名稱以及壓縮后文件的名字
import os
import zipfile
def abcZip(dir_path, file_name):
with zipfile.ZipFile(file_name, 'w', zipfile.ZIP_DEFLATED) as target:
for dirpath, dirnames, filenames in os.walk(dir_path):
fpath = dirpath.replace(dir_path, '')
fpath = fpath and fpath + os.sep or ''
for filename in filenames:
# file_list.append(os.path.join(dirpath,filename))
# print(os.path.join(dirpath,filename)
if (filename.__contains__('.DS_Store')):
continue
target.write(os.path.join(dirpath, filename), fpath + filename)
target.close()關(guān)于“Python如何解壓 rar、zip、tar文件”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯(cuò),請把它分享出去讓更多的人看到。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
本文名稱:Python如何解壓rar、zip、tar文件-創(chuàng)新互聯(lián)
文章出自:http://chinadenli.net/article20/diijjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、電子商務(wù)、網(wǎng)站改版、外貿(mào)網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容