python删除工作文件夹

问题

工作中遇到一个小问题,我要使用不同的armlog工具播放对应版本手机抓取slog(具体而言,slog记录手机开机之后的找网重选和切换等信令流程)。播放时候它会自动在对应的armlog工具的History子文件夹里生成armlog.lstarmlog.logel文件,这两个文件很大,动辄上百M,每天播放log就能占据磁盘几个G的空间。时间久了清理磁盘就很麻烦,因为armlog工具很多,需要一个个打开再清理,而且History子文件夹的目录好几层,仅仅打开它就很浪费时间。

我决定写个脚本一键解决这个问题,手动google发现[python删除文件夹下所有文件和子文件夹][1],而刚巧我的所有armlog工具都集中放在同一个文件夹下,具体的目录结构如下图所示

代码

# -*- coding: utf-8 -*-
"""
Created on Sun Nov 20 16:55:56 2016
Delete all the files under rootdir
@author: six_trees
"""

import os
import shutil
import stat
import time

import os
def delete_file_folder(src):
    '''delete files and folders'''
    if os.path.isfile(src):
        try:
            os.remove(src)
        except:
            pass
    elif os.path.isdir(src):
        for item in os.listdir(src):
            itemsrc = os.path.join(src,item)
            delete_file_folder(itemsrc) 
        try:
            os.rmdir(src)
        except:
            pass

rootdir = "E:\\360驱动大师目录"
acc_time = time.strftime('%Y.%m.%d: %H:%M:%S', time.localtime(time.time()))

with open(filename, 'a+') as f:
    f.write('\n*********** ' + acc_time + '*****************\n')
    for parent,dirnames,filenames in os.walk(rootdir):
        #遍历文件夹下面的所有文件夹 
        for dirname in dirnames:   
            if dirname=='History':
                strfilepath = parent + os.sep + dirname
                if os.path.isdir(strfilepath):
                    for item in os.listdir(strfilepath):
                        file_to_dele = os.path.join(strfilepath, item)
                        f.write(str(file_to_dele) + '\n')
                        dele_file_folder(file_to_dele)
    elapsed = time.clock() - start
    print "time used:" + str(elapsed) + '\n\n'
    f.write("time used:" + str(elapsed) + '\n\n')
微信公众号

你可能感兴趣的:(python删除工作文件夹)