#author("2022-08-08T10:33:04+09:00","default:yakumo_murakami","yakumo_murakami")
#author("2022-08-08T10:34:59+09:00","default:yakumo_murakami","yakumo_murakami")
[[今さらPython]]

お仕事の作業端末の容量が小さくて、勝手に圧縮するものをでっちあげてみたわ。
これぞ雑品って感じよね。

一応、こんな感じになってるわ。

- ディレクトリ内の一覧は os.listdir で
- ディレクトリかどうかの判定は、os.path.isdir で
- ディレクトリ→対応zipファイルの有無は文字列追加→os.path.isfileで。
- 検索ファイルがzipかどうかの判定は、re.matchで。
- 最後に、zip圧縮は shutil.make_archive で。

 #/usr/bin/env python 
 
 import os
 import re
 import shutil
 
 for f in os.listdir("."):
    print("###"+f)
    if(os.path.isdir(f) == True):
        t_file = f+".zip"
        if(os.path.isfile(t_file) != True):
            print("#.."+f+" is Go Archive... ",end="")
            shutil.make_archive(f, format='zip', root_dir=f)
            print("OK!")
        else:
            print("#.."+t_file+" is Already Archive")
    elif(re.match(r'.+.zip',f) != None):
        print("\t"+f+" is ZipFile!")
    else:
        print("#.."+f+" is Not Directory.")

ああそうそう、Windows端末だとコレだけじゃ困るわよね。
だったら、パスの通った場所にこれを置くのよ。スクリプト名は zipdir.py を想定してるわ。
だったら、パスの通った場所にこれを置くのよ。スクリプト本体の所在は、c:\Users\ユーザ名\bin\zipdir.py を想定してるわ。

zipdir.bat
 @echo off
 python %USERPROFILE%\bin\zipdir.py

これで、Windows版でWindowsコンソールから呼び出す場合もOKよ。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS