指定したファイル以外を再帰的に全て削除

このスクリプトをフォルダに置いて実行すると、指定ファイル以外のファイルを再帰的に削除します。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/python3
"""
 
指定したファイル名のファイル以外を再帰的に削除する
本スクリプトのあるフォルダ及びそのサブフォルダ内のファイルを削除する。
 
 DATE        VER   NAME     COMMENT
 2020/12/01  0.00  garyo     NEW
 
"""
import os
import glob
 
TARGET_FILE="para.dat"  #削除せず残すファイル名
 
 
def pathJoin(path,filename):
    return (os.path.join(path,filename))
 
#ファイルリストを得る。pathの最後に"/"がないと一つ上のフォルダから返す
def getFileList(path,filename):
    return (glob.glob(pathJoin(os.path.dirname(path) + "/**/",filename), recursive=True))
 
cnt = 0
notDeleteCnt = 0
flist = getFileList(os.getcwd() + "/","*.*")
for item in flist:
    if item != __file__:    #自分自身は消さない
        filename = os.path.basename(item)
        if filename.upper() != TARGET_FILE.upper():
            os.remove(item)
            cnt = cnt + 1
        else:
            #print(item)
            notDeleteCnt = notDeleteCnt + 1
             
print("DELETE:" + str(cnt) + "  UNDELETE(" + TARGET_FILE + "):" + str(notDeleteCnt))
print("END")

コメント

このブログの人気の投稿

Python OpenCVとWebカメラでバーコードリーダー

VB.net Dictionaryクラスの初期化