はじめに
フォルダの圧縮、展開を自動化に便利なように
他のスクリプトから呼び出せる形の関数を作成したみました。
圧縮については指定したフォルダ以下のサブディレクトリ含むすべて対象になっています。
ソースコード
関数
zip.py
#######################################################
# How to use
# zip.zipFolder(".\FolderName")
#######################################################
import os, zipfile
zipExtension = '.zip'
def zipFolder(folderPath):
zipFolder = folderPath + zipExtension
print(zipFolder)
with zipfile.ZipFile(zipFolder,'w') as myzip:
for folder, subfolders, files in os.walk(folderPath):
myzip.write(folder)
for file in files:
myzip.write(os.path.join(older,file))
#######################################################
# How to use
# zip.unzipFolder(".\FolderName")
#######################################################
import os, zipfile
zipExtension = '.zip'
def unzipFolder(folderPath):
unzipFoler = folderPath + zipExtension
print(unzipFoler)
with zipfile.ZipFile(unzipFoler, 'r') as zf:
zf.extractall(r'.\\'
呼び出し側
main.py
import zip
folderPath = ".\test"
destinationFolder = ".\out"
# 指定したフォルダをzip圧縮する
zip.zipFolder(folderPath)
# 指定したzipフォルダを展開する
zip.unzipFolder(destinationFolder)
参考文献
1.Pythonで指定フォルダ配下のサブフォルダとファイルを全てZIP圧縮する方法
2.Python コードレシピ集 黒住敬之著 技術評論社