1、【Python运维脚本】Python 按时间删除和清空文件

删除和清空文件,用shell的话一条命令就够了,Python要一堆命令。

但是为了学习Python,所以用于实战,就得这么干了。

Python 按时间删除和清空文件

#!/usr/bin/python
# coding=utf8
# author: chentufeng
# 该脚本用于清空文件和删除文件
import os, sys
import time

def truncate_file(path, time_tmp):
    """按时间删除文件和清空文件
    :param path 目录
    :param time_tmp 多少天前的文件 int
    """
    start_char = "rocketmq_client.log"
    if not os.path.isdir(path):
        print("目录不存在,程序退出.....")
        sys.exit()
    # 过去的时间
    past_time = int(time.time()) - (3600 * 24 * time_tmp)
    os.chdir(path)
    filelist = os.listdir(path)
    #print(filelist)
    if filelist is None:
        print("没有文件,不做操作")
        sys.exit(0)
    #遍历文件
    for file in filelist:
        # 获取文件修改时间
        modify_time = os.path.getmtime(file)
        #print(modify_time)
        filename = path + "/" + file
        #rocketmq_client.log 开头的清空
        if modify_time < past_time:
            if file.startswith(start_char):
                print("正在清空:" + filename)
                with open(file, "r+") as f:
                     f.truncate()
            else:
                #否则删除文件
                print("正在删除文件:" + filename)
                os.remove(file)
        else:
            continue


if __name__ == "__main__":
    # 开头字符串
    truncate_file("/root/logs/rocketmqlogs", 1)
    truncate_file("/root/logs/consolelogs", 3)

 

posted @ 2020-03-03 15:31  木与风  阅读(377)  评论(0编辑  收藏  举报