测试中,测试log是经常需要保存一段时间以便于后续查询,但是如果一段时间不删除,会导致硬盘空间变小而影响自动化测试,通常空间太小,自动化测试case就不能调用了,或者即使调用,可能会引起新测试的log无法保存。
这里提供一个python脚本,用于对log按创建时间进行排序。因为通常,我们删log也是先删除相对较老的log。排完序以后,就可以对log进行删除操作。可以设定一些门限,比如文件大小,当存放log的文件超过一定大小时就启动删除,每删除一个log判断一次文件大小是否小于设定门限,直到小于门限。这样就能控制log存放文件夹的大小并保证每次删除都是先删掉老的log。
代码:
import os import os.path def swap(target_list): #sorting folder list according to create time for i in range(len(target_list)): if i < (len(target_list)-1) and target_list[i][0] > target_list[i+1][0]: temp = target_list[i+1] target_list[i+1] = target_list[i] target_list[i] = temp else: continue return target_list if __name__ == '__main__': dir_log = "D:" files_with_time = [(os.path.getctime(dir_log + "/" + folder),dir_log + "/" + folder) for folder in os.listdir(dir_log)] #create a list with 2 elements, one is folder name and the other is create time print "the orginal filelist is" print files_with_time cyc_times = len(files_with_time) i = 0 while(i < cyc_times): # a cycle to re-arrange folder i = i + 1 files_with_time = swap(files_with_time) print "the seq list is" print files_with_time
本文出自 “施志伟的博客” 博客,谢绝转载!