微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐