测试中,测试log是经常需要保存一段时间以便于后续查询,但是如果一段时间不删除,会导致硬盘空间变小而影响自动化测试,通常空间太小,自动化测试case就不能调用了,或者即使调用,可能会引起新测试的log无法保存。

这里提供一个python脚本,用于对log按创建时间进行排序。因为通常,我们删log也是先删除相对较老的log排完序以后,就可以对log进行删除操作。可以设定一些门限,比如文件大小,当存放log的文件超过一定大小时就启动删除,每删除一个log判断一次文件大小是否小于设定门限,直到小于门限。这样就能控制log存放文件夹的大小并保证每次删除都是先删掉老的log

代码:

import osimport os.pathdef swap(target_list):   #sorting folder list according to create timefor 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] = tempelse:continuereturn target_listif __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 timeprint "the orginal filelist is"print files_with_timecyc_times = len(files_with_time)i = 0while(i < cyc_times): # a cycle to re-arrange folderi = i + 1files_with_time = swap(files_with_time)print "the seq list is"print files_with_time