日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python打包与解压zip

發布時間:2024/3/24 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python打包与解压zip 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

打包

shutil模塊

shutil.make_archive(base_name, format[, root_dir[, base_dir[, verbose[, dry_run[, owner[, group[, logger]]]]]]])
  • 參數說明:

    • base_name:創建的目標文件名,包括路徑,減去任何特定格式的擴展
    • format:壓縮格式,zip,tar,bztar或gztar中的一個
    • root_dir:打包時切換到的根路徑。也就是說,開始打包時,會先執行路徑切換,切換到root_dir所指定的路徑,默認為當前路徑。
    • base_dir:開始打包的路徑。也就是說,該命令會對base_dir所指定的路徑進行打包,默認值為root_dir,即打包切換后的當前目錄。亦可指定某一特定子目錄,從而實現打包的文件包含此統一的前綴路徑
    • owner和group為創建tar包時使用,默認為用戶當前的owner和```group``
  • 使用示例

import os import datetime import shutilbase_name = os.path.dirname(os.path.realpath(__file__)) tmp_folder_name = "tmp-%s"%datetime.datetime.now().strftime("%Y-%m-%d-%H-%M-%S") db_folder = os.path.join(base_name, "..", "data", tmp_folder_name) if not os.path.exists(db_folder):os.makedirs(db_folder)zip_file_name = "project_%s_%s"%(projectid, datetime.datetime.now().strftime("%Y-%m-%d-%H-%M-%S")) shutil.make_archive(os.path.join(base_name, "..", "data", zip_file_name), 'zip', db_folder)

將db_folder的文件夾壓縮成data下的以zip_file_name命名的壓縮包。

解壓

Zipfile

ZipFile是主要的類,用來創建和讀取zip文件
zipfile.ZipFile(file[, mode[, compression[, allowZip64]]])

創建一個ZipFile對象,表示一個Zip文件。

  • 參數說明
    • file:文件路徑或類文件對象
    • mode:打開zip文件的模式,默認為‘r’.
      表示讀已經存在的zip文件,也可以用‘w’或者‘a’,‘w’表示新建一個zip文檔或者覆蓋一個已經存在的zip文檔,‘a’表示將數據附加到一個現存的zip文檔中。
    • compression表示寫zip文檔時使用的壓縮方法,值可以是zipfile.ZIP_STORED或zipfile.ZIP_DEFLATED。
    • allowZIP64:如果文檔大小超過2G,應該將allowZIP64設為TRUE。

ZipFile.namelist()

獲取Zip文檔內所有文件的名稱列表。

ZipFile.extract

ZipFile.extract(member[, path[, pwd]])

將zip文檔內的指定文件解壓到當前目錄。

  • 參數說明
    • member:要解壓的文件名或者ZipInfo對象
    • path: 解析文件保存的文件夾
    • pwd:解壓密碼
  • 使用示例
def un_zip(file_name,upload_path):"""unzip zip file"""zip_file = zipfile.ZipFile(os.path.join(upload_path,file_name))file_name_pre=file_name.split('.')[0]restore_path=os.path.join(upload_path,file_name_pre)if not os.path.exists(restore_path):os.makedirs(restore_path)for names in zip_file.namelist():zip_file.extract(names,restore_path)zip_file.close()return restore_path

引用

  • shutil — High-level file operations
  • Python打包工具shutil.make_archive詳解
  • python解壓壓縮包的幾種方法
  • python解壓壓縮包的幾種方法
  • Python模塊學習:zipfile zip文件操作

總結

以上是生活随笔為你收集整理的Python打包与解压zip的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。