壓縮
f=zipfile.zipfile(
file
, mode=
"r", compression=zip_stored, allowzip64=
false
)
f.write(filename)
將檔案寫入zip檔案中,即將檔案壓縮
f.close()
將zip檔案物件關閉,與open一樣可以使用上下文with as
write有2個可選引數:zipfile.write(『原檔名』,『壓縮後的檔名』) #第乙個是必填,第二個選填
下面放個小demo
'''
'''import zipfile
import os
defzipdir
(dirpath,outfullname,name)
:"""
壓縮指定資料夾
:param dirpath: 目標資料夾路徑
:param outfullname: 壓縮檔案儲存路徑+***x.zip
:return: 無
"""zip= zipfile.zipfile(outfullname,
"a",zipfile.zip_deflated)
for path,dirnames,filenames in os.walk(dirpath)
:# 去掉目標跟路徑,只對目標資料夾下邊的檔案及資料夾進行壓縮
fpath = path.replace(dirpath,'')
for filename in filenames:
zip.write(os.path.join(path,filename)
,os.path.join(name+fpath,filename)
)zip
.close(
)
壓縮整個資料夾:
zipfile模組對「資料夾」的壓縮其實是由壓縮檔案的目錄結構實現的,因此可以使用os模組的walk方法進行檔案遍歷、寫入壓縮檔案。
import zipfile,os
with zipfile.zipfile(
'aa.zip'
,'w'
)as target:
for i in os.walk(
'aa'):
for n in i[2]
: target.write(
''.join(
(i[0],
'\\'
,n))
)
python zipfile壓縮檔案
import zipfile,os def compress get files path,set files path 壓縮檔案生成.zip 格式檔案 param get files path 需要壓縮的資料夾 param set files path 存放壓縮檔案的位址 return f zip...
Python zipfile解壓中文問題
windows中使用python2.7遍歷zip檔案之後輸出檔名等資訊,console列印的中文及一些標點出現亂碼。查了一下網上說的windows的編碼為cp936,print 函式交給系統處理列印,所以要提前編碼成windows能夠識別的編碼。這種print的亂碼也會出現在形如print myli...
python zipfile修改docx並儲存
docx是microsoft office2007之後版本使用的,用新的基於xml的壓縮檔案格式取代了其目前專有的預設檔案格式,在傳統的檔名擴充套件名後面新增了字母 x 從上述可以知道,只需修改相對應的xml,就可以修改整個docx檔案。將docx用壓縮軟體開啟,可以看到下圖 document.xm...