Zip

  1. 為什麼要用 python zipfile → 可高度客製化/ 自動化程式處理
  2. python standard library → zipfile module 可用
  3. Lossy→ 失真壓縮 (不可回復原檔案) Irreversible
  4. Lossless → 無失真壓縮 (可回復) reversible
    1. Zipfile 是Lossless compression
    2. zipfile 缺點: 無法直接by folder zip

Untitled

# 如果把檔案名取 zipfile 會導致 import itself 
#AttributeError: partially initialized module 'zipfile' has no attribute 'ZipFile' (most likely due to a circular import)

import zipfile

#壓縮

zipped_file = zipfile.ZipFile("research.zip", "w")  # 壓縮的檔案名稱和壓縮方式
zipped_file.write("research.txt", compress_type=zipfile.ZIP_DEFLATED) # 預計要壓縮文件和壓縮方式
zipped_file.write("research2.txt", compress_type=zipfile.ZIP_DEFLATED) # 預計要壓縮文件和壓縮方式
zipped_file.close()

# 解壓縮
zipped_obj = zipfile.ZipFile("research.zip", "r")
zipped_obj.extractall("result") # 解壓之後的folder 
zipped_obj.close()
  1. 缺點→ zipfile 無法直接zip folder
    1. 可以改用 build in method : “shutil.make_archive()