• 删除指定目录下包含指定名称的文件夹(递归) 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)
  • 相关阅读:
    学习 Linux 几点忠告【转载】
    游侠更新仙剑全系列免CD补丁(支持WIN7 SP1)【转载】
    更改数据库对象所有者
    数据库 行列相互转化
    JQuery计时器
    js操作cookies
    利用自定义DataTable来重画数据集的用法
    asp.net mvc 从客户端中检测到有潜在危险的 Request.Form 值的解决方法
    CS144 Lab
    CS231n Assignment #2
  • 原文地址:https://www.cnblogs.com/endenvor/p/14049161.html
Copyright © 2020-2023  润新知