python 删除/app/*/logs/*/*.logs指定多少天的文件

复制代码
# encoding: utf-8
import sys
import getopt
import os
import glob
import time
import datetime


def removefile(keep=7):
    for file in glob.glob('/app/*/logs/*/*.log'):
        # 获取当前时间
        today = datetime.datetime.now()
        # 计算偏移量,前k天
        offset = datetime.timedelta(minutes=-keep)
        # 获取想要的日期时间,即前k天时间
        re_date = (today + offset)
        # 前k天时间转换为时间戳
        re_date_unix = time.mktime(re_date.timetuple())
        # 文件修改时间
        file_time = os.path.getmtime(file)
        print(file)
        if file_time <= re_date_unix:
            os.remove(file)
            # print("删除文件:" + file)


if __name__ == '__main__':
    opts, args = getopt.getopt(sys.argv[1:], '-h-k:', ['help', 'keep='])
    if len(opts) == 0:
        removefile()

    for opt_name, opt_value in opts:
        if opt_name in ('-h', '--help'):
            print("[*] Help info")
            print("-k n\t\t", "Keep  files for n days")
            sys.exit()
        if opt_name in ('-k', '--keep'):
            removefile(keep=eval(opt_value))
复制代码

 



如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
posted @   君莫笑我十年游  阅读(320)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示