问题
工作中遇到一个小问题,我要使用不同的armlog工具播放对应版本手机抓取slog(具体而言,slog记录手机开机之后的找网重选和切换等信令流程)。播放时候它会自动在对应的armlog工具的History
子文件夹里生成armlog.lst
和armlog.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')

网友评论