zoukankan      html  css  js  c++  java
  • 删除指定目录下包含指定名称的文件夹(递归) python

    在整理mfc程序的时候, 为了清理项目资源, 经常需要删除项目目录或其子目录下(递归)的Debug, Release, x64, .vs等文件目录, 如果有很多项目, 手工清理很是麻烦, bat不太熟悉, 没找到合适的脚本, 自己用python写了一个清理的小脚本,

    使用用例:

    python demo.py CleanDir Debug, Release, x64, .vs

     1 import os
     2 import sys
     3 
     4 def DelDirAndSubDirByName(rootPath, dirNameList):
     5     subPath = ''
     6     for item in os.listdir(rootPath):
     7         subPath = rootPath + '\' + item
     8         if os.path.isdir(subPath):
     9             if item in dirNameList:
    10                 DelAllFile(subPath)
    11                 print('del dir: %s' %(subPath))
    12             else:
    13                 DelDirAndSubDirByName(subPath, dirNameList)
    14 
    15 def DelAllFile(delPath):
    16     if os.path.isfile(delPath):
    17         os.remove(delPath)
    18     else:
    19         for item in os.listdir(delPath):
    20             DelAllFile(delPath + '\' + item)
    21         os.rmdir(delPath)  
    22 
    23 if __name__ == '__main__':
    24     if  len(sys.argv) < 2 or 
    25         sys.argv[1] == '/?' or 
    26         sys.argv[1] == '-h' or 
    27         sys.argv[1] == '--help':
    28         print('usage: exe.py delPath delDirName1 delDirName2 ...')
    29         exit(0)
    30 
    31     delPath = os.path.abspath(sys.argv[1])
    32     print(delPath)
    33     if os.path.exists(delPath) != True:
    34         print('%s is not exist' %(delPath))
    35         exit(1)
    36 
    37     if os.path.isdir(delPath) != True:
    38         print('%s is not dir' %(delPath))
    39         exit(2)
    40 
    41     dirNameList = sys.argv[2:]
    42     DelDirAndSubDirByName(delPath, dirNameList)
  • 相关阅读:
    正则笔记
    html5的选择器
    原生js操作dom备忘
    avalon使用笔记
    webpack2配置备份
    美女图片小爬虫,嘿嘿
    JS原型和继承
    localstorage sessionstorage cookie 备忘
    gulp配置文件备份
    node代码片段
  • 原文地址:https://www.cnblogs.com/endenvor/p/14049161.html
Copyright © 2011-2022 走看看