造日志脚本
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('你传入的路径不存在')