LoginSignup
0
0

More than 1 year has passed since last update.

[Python]フォルダzip圧縮、展開

Posted at

はじめに

フォルダの圧縮、展開を自動化に便利なように
他のスクリプトから呼び出せる形の関数を作成したみました。
圧縮については指定したフォルダ以下のサブディレクトリ含むすべて対象になっています。

ソースコード

関数

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 コードレシピ集 黒住敬之著 技術評論社

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0