如何網(wǎng)站建設(shè)seo優(yōu)化排名百度教程
這里我們使用zipfile
這個庫進(jìn)行操作,保存壓縮文件相對簡單,只需要指定文件名即可,不需要讀取那個文件:
with zipfile.ZipFile("zip文件路徑", mode, zipfile.ZIP_DEFLATED) as z:z.write("壓縮源文件路徑", "在壓縮文件中保存的相對路徑")
文件的讀取請參考:Python讀取zip文件并解壓,循環(huán)解壓文件內(nèi)的每個文件
注意:zipfile只支持utf8編碼(與ascii,除此之外不支持別的編碼),如果編碼報錯,請直接使用utf8讀取或?qū)懭?/p>
示例程序
import os
import zipfiledef write_to_zip(zip_file, compressing_file_path, mode='w'):"""將整個目錄(遞歸全文件)全文件保存在zip文件中:param zip_file:保存zip:param compressing_file_path:保存的文件路徑:param mode:保存文件的模式 w覆寫 a追加"""with zipfile.ZipFile(zip_file, mode, zipfile.ZIP_DEFLATED) as z:for _dir_path, _dirs, _files in os.walk(compressing_file_path): # 遍歷全部目錄file_path = _dir_path.replace(compressing_file_path, '') # 從當(dāng)前目錄的子目錄開始file_path = file_path and file_path + os.sep or ''for filename in _files: # 保存文件z.write(os.path.join(_dir_path, filename), file_path + filename)def main():write_to_zip("寫入zip的名稱.zip", "data/要保存的文件目錄")if __name__ == '__main__':main()