操作LOG文件-删除log目录下,所有的空文件-删除5天前的文件
2018-05-13 21:29
260 查看
# 1、logs目录下,有一部分文件是空的
# 1、删除log目录下,所有的空文件
# 2、删除5天前的文件
# 需求分析:
# 1、os.walk()获取到所在以.log结尾的文件
# 2、判断文件的大小,os.getsize()
# 3、先从文件件名里面获取到文件的日期,然后把日期转成时间戳
# 4、再获取到当年的时间戳,时行比较
import os,time,datetime
def strToTimestamp(str=None,format='%Y%m%d%H%M%S'):
# 20180421165643
#默认返回当前时间戳
if str: #如果传了时间的话
tp = time.strptime(str,format) #格式化好的时间,转成时间元组
res = time.mktime(tp)#再转成时间戳
else:
res = time.time() #默认取当前的时间戳
return int(res)
def clean_log(path):
for abs_path,dir,file in os.walk(path):
for f in file:
if f.endswith('.log'):
full_path = os.path.join(abs_path,f) #文件的绝对理解
f_date = f.split('_')[-1].split('.')[0] #文件名里面的日期
f_date_time_stamp = strToTimestamp(f_date,'%Y-%m-%d') #把文件名里面的日期转成时间戳
five_day = str(datetime.date.today() + datetime.timedelta(-5)) #获取到5天前的日期
five_day_time_stamp = strToTimestamp(five_day, '%Y-%m-%d') # 再把天前的日期转成时间戳
if os.path.getsize(full_path)==0 or f_date_time_stamp<five_day_time_stamp:
os.remove(full_path)
clean_log('logs')
相关文章推荐
- 操作excel表格和删除文件目录下所有文件
- C#IO操作,删除指定目录下的所有文件夹和文件
- 文件的两种递归操作 删除目录下所有文件和输出目录下所有文件路径和名
- 这是一个定时脚本,主要功能是遍历该文件夹下的所有文件并存储到数组,对数据中的文件进行操作,一个一个移动到指定的目录下,并删除原有文件
- 【Python/PE】python中实现文件操作的几种功能(删除指定目录下的所有内容,文件复制等)
- Android删除某目录下所有文件夹及文件
- delphi 删除指定目录 下 指定日期之前所有文件
- Asp.Net 文件操作基类(读取,删除,批量拷贝,删除,写入,获取文件夹大小,文件属性,遍历目录)
- PHP删除目录及目录下所有文件
- linux下递归删除目录下所有指定类型文件
- [导入]删除目录及目录下所有文件与子目录
- C# 文件操作(全部) 追加、拷贝、删除、移动文件、创建目录 修改文件名、文件夹名
- C# 文件操作 全收录 追加、拷贝、删除、移动文件、创建目录、递归删除文件夹及文件
- C#删除目录和目录下的所有文件
- bat删除当前目录及其所有子目录中的VC临时文件
- Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录
- Linux下使用Shell脚本删除一个目录下的所有子目录和文件
- Android中gradle脚本 删除目录 批改目录 修改文件字符串等操作
- JavaSE 文件递归之删除&获取文件夹目录中所有的以.jpg的文件的绝对路径
- 遍历删除一个目录下所有文件的函数