日志和关键字查找

造日志脚本
def
timestamp_to_str(timestamp=None,format='%Y-%m-%d %H:%M:%S'): '''时间戳转格式化好的时间,如果没有传时间戳,就获取当前的格式化时间''' if timestamp: time_tuple = time.localtime(timestamp) #把时间戳转成时间元组 result = time.strftime(format,time_tuple) #把时间元组转成格式化好的时间 return result else: return time.strftime(format) import time,os l = ['ios','android','nginx','tomcat','python','blog','apache','mysql','redis'] for i in l: p = os.path.join('logs',i) os.makedirs(p) for j in range(10): t = int(time.time())-86400*j time_str = timestamp_to_str(t,'%Y-%m-%d') log_name = '%s_%s.log'%(i,time_str) abs_file_path = os.path.join('logs',i,log_name) open(abs_file_path,'w')
#1、获取到当天的时间戳
#2、再获取到三天前的时间戳
#3、再把文件的日期转成时间戳
#4、如果文件的日期小于三天前的时间戳那么就删除
import os
import time

def str_to_timestamp(str=None,format='%Y-%m-%d %H:%M:%S'):
    #格式化好的时间转时间戳的,如果不传格式化好的时间,就返回当前的时间戳
    if str:
        time_tuple = time.strptime(str,format)
        # 把格式化好的时间,转成时间元组
        return int(time.mktime(time_tuple))
    return int(time.time())

def clean_log(path,day=3):
    cur_time = int(time.time())
    three_days_ago = cur_time - 24*60*60*day
    for cur_path,dirs,files in os.walk(path):
        for file_name in files:
            if file_name.endswith('.log'):
                file_time = file_name.split('.')[0].split('_')[-1]
                file_time = str_to_timestamp(file_time,format='%Y-%m-%d')
                if file_time<three_days_ago:
                    abs_path = os.path.join(cur_path,file_name)
                    os.remove(abs_path)

# clean_log('logs')
#1、获取到某个目录下面所有的文件
#2、判断是否以.txt结尾
#3、如果是.txt结尾打开这个文件,读取内容
#4、判断这个关键字是否在文件内容里面
#5、如果在的话 就输出
import os


def find_content(keyword,path):
    if os.path.exists(path):
        for cur_path,dirs,files in os.walk(path):
            for file in files:
                if file.endswith('.txt'):
                    abs_path = os.path.join(cur_path,file)
                    with open(abs_path) as f:
                        if keyword in f.read():
                            print('在【%s】这个文件里面有你查找的内容!'%abs_path)

    else:
        print('你传入的路径不存在')

 

posted on 2019-06-26 11:42  静思的技术博客  阅读(537)  评论(0编辑  收藏  举报

导航