练习题2

# 测试机器的磁盘太小,经常报警,要写一个清理日志的脚本,每次运行就把三天之前的日志删除,日志名的格式是xxx-20170623.log。


import time,os,sys

path = 'C:/Users/Administrator/Desktop/sdk'

def name(filename):
a = str(filename)
a_list = a.split('.')
left = a_list[0]
b_list = left.split('-')
right = b_list[1]
return right

def clean_log(path):
t = int(time.time()) - 86400 * 2 # 前天时间戳
t1 = time.strftime("%Y%m%d", time.localtime(t)) # 前天格式化时间
f = os.listdir(path) # 列出一个目录下的所有文件
for filename in f:
filepath = os.path.join(path, filename) # 文件路径
if os.path.isfile(filepath): # 判断是否是文件
t2 = time.strptime(name(filename), '%Y-%m-%d') # 每个文件的时间元组
t3 = time.strftime("%Y%m%d", t2) # 每个文件的格式化时间
log_len = len(filename.split('-'))
if t3 < t1 and log_len >= 3:
os.remove(filepath)
print('日志已经清理')
args = sys.argv
print(args)
print(len(args))
if len(args)>1:
path = args[1]
if os.path.isdir(path):
clean_log(path)
else:
print('路径不存在!')
else:
print('运行这个python文件需要传入一个路径!\n'
'运行示例: python clean_log.py /usr/tomcat/logs')

posted on 2019-05-16 09:34  奥喵  阅读(77)  评论(0编辑  收藏  举报

导航