當前位置:首頁 » 文件管理 » python解壓文件內容

python解壓文件內容

發布時間: 2022-06-18 12:56:41

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()

② python怎樣壓縮和解壓縮ZIP文件

Python壓縮ZIP文件:

importzipfile
f=zipfile.ZipFile(target,'w',zipfile.ZIP_DEFLATED)
f.write(filename,file_url)
f.close()

其中target:是壓縮後要保存的路徑,可以是: 'C:/temp/'
ZIP_DEFLATED:表示壓縮,還有一個參數:ZIP_STORE:表示只打包,不壓縮。

這個Linux中的gz跟tar格式有點類似.

write方法如果只有一個參數filename的話,表示把你filename所帶的路徑全部壓縮到zip文件中。如果帶兩個參數,表示把filename路徑中的那個file壓縮一下並且存放到file_url中,中間沒有增加任何的文件夾
如果要壓縮很多的文件,循環的write就ok了, 最後close掉。
Python解壓ZIP文件:

f=zipfile.ZipFile("zipfilePath",'r')
forfileinf.namelist():
f.extract(file,"temp/")

zipfilePath是壓縮文件的路徑
循環訪問該壓縮文件中的文件,並且一個一個file的解壓到對應的"temp"文件夾中

③ python 中如何壓縮文件,並指定文件的壓縮之後的大小。

這個簡單啊。你先壓縮成一個ZIP文件。比如 example.zip

然後用python將它分割成,5個文件。e1,e2,e3,e4,e5

郵件發出去後,對方收到郵件,另存附件,然後在目錄下運行
e1+e2+e3+e4+e5 example.zip
此時windows就將依次將5個文件復制到同一個文件里去。

④ 用python解壓圖片並列印代碼

import zipfile

# 傳入壓縮文件zfile.zip獲取相關信息

zip_file = zipfile.ZipFile('zfile.zip')

# 獲取壓縮文件中的內容

f_content = zip_file.namelist()

# 壓縮前的大小

f_size = zip_file.getinfo('zfile/a.txt').file_size

# 壓縮後的大小

c_size = zip_file.getinfo('zfile/a.txt').compress_size

ZipFile 對象有一個 namelist()方法,返回 ZIP 文件中包含的所有文件和文件夾 的字元串的列表。這些字元串可以傳遞給 ZipFile 對象的 getinfo()方法,返回一個關 於特定文件的 ZipInfo 對象。ZipInfo 對象有自己的屬性,諸如表示位元組數的 file_size 和 compress_size,它們分別表示原來文件大小和壓縮後文件大小。ZipFile 對象表示 整個歸檔文件,而 ZipInfo 對象則保存該歸檔文件中每個文件的有用信息。

從 ZIP 文件中解壓縮

ZipFile 對象的 extractall()方法從 ZIP 文件中解壓縮所有文件和文件夾,放到當 前工作目錄中。

import zipfile

zip_file = zipfile.ZipFile('zfile.zip')

# 解壓

zip_extract = zip_file.extractall()

zip_extract.close()

運行這段代碼後, example.zip 的內容將被解壓縮到 C:。 或者, 你可以向 extractall()傳遞的一個文件夾名稱,它將文件解壓縮到那個文件夾,而不是當前工作 目錄。如果傳遞給 extractall()方法的文件夾不存在,它會被創建。例如,如果你用 exampleZip.extractall('C: delicious')取代處的調用,代碼就會從 example.zip 中解壓 縮文件,放到新創建的 C:delicious 文件夾中。

ZipFile 對象的 extract()方法從 ZIP 文件中解壓縮單個文件。

創建和添加到 ZIP 文件

要創建你自己的壓縮 ZIP 文件,必須以「寫模式」打開 ZipFile 對象,即傳入'w' 作為第二個參數(這類似於向 open()函數傳入'w',以寫模式打開一個文本文件)。

如果向 ZipFile 對象的 write()方法傳入一個路徑,Python 就會壓縮該路徑所指 的文件,將它加到 ZIP 文件中。write()方法的第一個參數是一個字元串,代表要添 加的文件名。第二個參數是「壓縮類型」參數,它告訴計算機使用怎樣的演算法來壓 縮文件。可以總是將這個值設置為 zipfile.ZIP_DEFLATED(這指定了 deflate 壓縮 演算法,它對各種類型的數據都很有效)。

import zipfile

zip_file = zipfile.ZipFile('new.zip','w')

# 把zfile整個目錄下所有內容,壓縮為new.zip文件

zip_file.write('zfile',compress_type=zipfile.ZIP_DEFLATED)

# 把c.txt文件壓縮成一個壓縮文件

# zip_file.write('c.txt',compress_type=zipfile.ZIP_DEFLATED)

zip_file.close()

這段代碼將創建一個新的 ZIP 文件,名為 new.zip,它包含 spam.txt 壓縮後的內容。

要記住,就像寫入文件一樣,寫模式將擦除 ZIP 文件中所有原有的內容。如果 只是希望將文件添加到原有的 ZIP 文件中,就要向 zipfile.ZipFile()傳入'a'作為第二 個參數,以追加模式打開 ZIP 文件。

⑤ 如何通過Python壓縮解壓縮zip文件

解壓縮

importzipfile
importos
defun_zip(file_name):
"""unzipzipfile"""
zip_file=zipfile.ZipFile(file_name)
ifos.path.isdir(file_name+"_files"):
pass
else:
os.mkdir(file_name+"_files")
fornamesinzip_file.namelist():
zip_file.extract(names,file_name+"_files/")
zip_file.close()

打包

zipfile.ZipFile('xxx.zip','a/w/x').write('xxx.txt')

'w'以截斷並寫入新文件'a'以附加到現有文件,或'x'以專門創建和寫入新文件。

⑥ python怎樣壓縮和解壓縮ZIP文件

1、說明

python使用zipfile模塊來壓縮和解壓zip文件

2、代碼

importos,os.path
importzipfile

defzip_dir(dirname,zipfilename):
filelist=[]
ifos.path.isfile(dirname):
filelist.append(dirname)
else:
forroot,dirs,filesinos.walk(dirname):
fornameinfiles:
filelist.append(os.path.join(root,name))

zf=zipfile.ZipFile(zipfilename,"w",zipfile.zlib.DEFLATED)
fortarinfilelist:
arcname=tar[len(dirname):]
#printarcname
zf.write(tar,arcname)
zf.close()


defunzip_file(zipfilename,unziptodir):
ifnotos.path.exists(unziptodir):os.mkdir(unziptodir)
zfobj=zipfile.ZipFile(zipfilename)
fornameinzfobj.namelist():
name=name.replace('\','/')

ifname.endswith('/'):
os.mkdir(os.path.join(unziptodir,name))
else:
ext_filename=os.path.join(unziptodir,name)
ext_dir=os.path.dirname(ext_filename)
ifnotos.path.exists(ext_dir):os.mkdir(ext_dir)
outfile=open(ext_filename,'wb')
outfile.write(zfobj.read(name))
outfile.close()

if__name__=='__main__':
zip_dir(r'd:/python/test',r'd:/python/test.zip')
unzip_file(r'd:/python/test.zip',r'd:/python/test2')

執行結果

順利生成相應文件

3、備注

zip文件格式是通用的文檔壓縮標准,在zipfile模塊中,使用ZipFile類來操作zip文件,下面具體介紹一下:
class zipfile.ZipFile(file[, mode[, compression[, allowZip64]]])

創建一個ZipFile對象,表示一個zip文件。參數file表示文件的路徑或類文件對象(file-like object);參數mode指示打開zip文件的模式,默認值為'r',表示讀已經存在的zip文件,也可以為'w'或'a','w'表示新建一個zip文檔或覆蓋一個已經存在的zip文檔,'a'表示將數據附加到一個現存的zip文檔中。參數compression表示在寫zip文檔時使用的壓縮方法,它的值可以是zipfile. ZIP_STORED 或zipfile. ZIP_DEFLATED。如果要操作的zip文件大小超過2G,應該將allowZip64設置為True。

ZipFile還提供了如下常用的方法和屬性:
ZipFile.getinfo(name):

獲取zip文檔內指定文件的信息。返回一個zipfile.ZipInfo對象,它包括文件的詳細信息。將在下面 具體介紹該對象。
ZipFile.infolist()

獲取zip文檔內所有文件的信息,返回一個zipfile.ZipInfo的列表。
ZipFile.namelist()

獲取zip文檔內所有文件的名稱列表。
ZipFile.extract(member[, path[, pwd]])

⑦ 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文件時,只能讀取內容!

⑧ Python如何將文件里的文件解壓並輸出

"""
"""

importzipfile

package=zipfile.ZipFile(r"dbpackages.zip")
forfinpackage.namelist():
iff.endswith(".db"):
printf
package.extract(package.getinfo(f))

⑨ python怎麼解壓壓縮的字元串數據

import StringIO
import gzip
compresseddata = gzip方式壓縮的字元串(html)
compressedstream = StringIO.StringIO(compresseddata)
gzipper = gzip.GzipFile(fileobj=compressedstream)
data = gzipper.read() # data就是解壓後的數據!

⑩ python 解壓縮tar.gz文件 判斷文件是否正常

  1. Python自帶的tarfile模塊可以方便讀取tar歸檔文件,牛b的是可以處理使用gzip和bz2壓縮歸檔文件tar.gz和tar.bz2。

  2. 對於gz格式gz文件一般不加密常見的是這種.tar.gz格式的 對於tar格式 在python標准庫我沒找到關於檢測加密的方法

熱點內容
python查看進程 發布:2024-05-19 22:59:37 瀏覽:158
androidhtml顏色 發布:2024-05-19 22:58:34 瀏覽:847
米3系統存儲和內存設備 發布:2024-05-19 22:50:50 瀏覽:214
途樂有哪些越野配置 發布:2024-05-19 22:49:53 瀏覽:673
php檢測變數 發布:2024-05-19 22:45:31 瀏覽:322
結構與演算法 發布:2024-05-19 22:32:22 瀏覽:588
ubuntuphp版本 發布:2024-05-19 21:59:12 瀏覽:929
解壓文案館 發布:2024-05-19 21:58:54 瀏覽:871
蘇寧訪問數 發布:2024-05-19 21:53:49 瀏覽:581
濕地下載ftp 發布:2024-05-19 21:46:10 瀏覽:487