07 python学习笔记-写一个清理日志的小程序(七)
#删掉三天前的日志
#1、获取到所有的日志文件, os.walk
#2、获取文件时间 android 2019-09-27 log,并转成时间戳
#3、获取3天前的时间 time.time() - 60 * 60 *24 *3
#4、判断文件的时间戳如果小于3天前的时间戳删除
#5、文件为空删除 os.path.getsize() import os,time
import random def str_to_timestamp(string=None,format='%Y-%m-%d %H:%M:%S'):
'''格式化好的字符串转时间戳,默认返回当前时间戳'''
if string:
time_tuple = time.strptime(string, format) # 格式化好的时间,转时间元组的
result = time.mktime(time_tuple) # 把时间元组转成时间戳
else:
result = time.time()
return int(result) def clean_logs(path,days=3):
if not os.path.isdir(path):
print("传入的不是一个文件夹")
return
for cur_dir,dirs,files in os.walk(path):
for file in files:
if file.endswith('.log'):
# file_time = file.split('.')[0].split('_')[-1]
prefix=file.split('.')[0]
file_time = prefix.split('_')[-1]
file_time_stamp = str_to_timestamp(file_time,'%Y-%m-%d')
three_day_ago = time.time() - 60 * 60 * 24 * days
file_path = os.path.join(cur_dir,file)
if file_time_stamp < three_day_ago or os.path.getsize(file_path)==0:
os.remove(file_path)
07 python学习笔记-写一个清理日志的小程序(七)的更多相关文章
- 微信小程序学习笔记(一)--创建微信小程序
一.创建小程序 1.申请帐号.安装及创建小程序,请参照官方文档里面的操作 https://developers.weixin.qq.com/miniprogram/dev/. 小程序在创建的时候会要求 ...
- 逆向工程学习第一天--一个VC6编译的小程序
今天开始研究二进制了,开个文记录一下.下面是一个小程序的OD反汇编代码,自己尝试加了注释,本人逆向零基础,属于摸着石头过河的类型,有理解错误的地方,希望大牛不吝赐教. 源代码: #include< ...
- Struts2学习笔记——Struts2搭建和第一个小程序
1.新建web项目 2.配置Struts2核心过滤器 (1)打开web.xml文件,做以下配置: <?xml version="1.0" encoding="UTF ...
- python 学习笔记 -logging模块(日志)
模块级函数 logging.getLogger([name]):返回一个logger对象,如果没有指定名字将返回root loggerlogging.debug().logging.info().lo ...
- Python学习笔记:logging(日志处理)
在一个软件中,日志是可以说必不可少的一个组成部分,通常会在定位客户问题或者记录软件使用情况等场景中会用到.logging模板块是Python的一个内置标准库,用于实现对日志的控制输出,对于平常的日志输 ...
- Python学习笔记_一个Tkinter示例,使用FileDialog
为了使用Python进行数据分析,编写一个图形界面,选择一个Excel文件(或CSV),然后进行后续处理. 一.本示例涵盖如下知识点: 1.FileDialog的使用 2.退出程序 3.消息提示框的示 ...
- python学习笔记(31)——日志格式
- python学习笔记(五) 200行实现2048小游戏
用前文提到的基础知识,和网上流行的2048源码,用python实现该游戏. 先将用户操作和游戏逻辑绑定. WASD分别对应移动方向上.左.下.右 然后实现矩阵的转置和逆置,这样只要实现一个方向的移动, ...
- Python学习笔记(15)- os\os.path 操作文件
程序1 编写一个程序,统计当前目录下每个文件类型的文件数,程序实现如图: import os def countfile(path): dict1 = {} # 定义一个字典 all_files = ...
随机推荐
- 首次接触flask遇到socket.error: [Errno 10013] 报错
解决方案: 发现是因为端口5000被占用了,设置一个其他port就行:app.run(port=5050)
- python库之turtle(图形绘制) 开启新的快乐源泉
相信有不少人学习python 都是听了老前辈的推荐 “学python好,python有趣的代码多” 比如说画一只小狮子 这就是今天想要介绍的绘制图形库-turtle 如果也想这样画一只小狮子,或者其他 ...
- java基础面试集结
1.hashMap实现原理及相关问题 :https://blog.csdn.net/h1130189083/article/details/78303865
- MongoDB安装过程中出现service MongoDB failed to start,verify that you have sufficient privileges to start...
win10系统下,安装MongoDB 64位, service MongoDB failed to start,verify that you have sufficient privileges t ...
- Python 模拟淘宝登录的两种方法
方法一.urllib的post登录 import urllib import urllib2 import cookielib def taobao(username,password): cj = ...
- springboot配置ehcache2.X缓存(@Cacheable等注解和手动操作缓存的工具类 支持element粒度的时间设置)
本文只写出一些注意事项和源码,请善用官方文档~ 注解实现 @Cacheable @CachePut @CacheEvit 启动类上加@EnableCaching就可以开启缓存 由文档可知,自动检测缓存 ...
- CentOS 8 网卡设置
本次测试环境是在虚拟机上测试 网卡配置文件路径:/etc/sysconfig/network-scripts/ifcfg-ens33 [root@localhost ~]# cd /etc/sysco ...
- Kubernetes中的PV和PVC是啥
K8S引入了一组叫作Persistent Volume Claim(PVC)和Persistent Volume(PV)的API对象,大大降低了用户声明和使用持久化Volume的门槛. 在Pod的Vo ...
- 从一道ctf看php反序列化漏洞的应用场景
目录 0x00 first 前几天joomla爆出个反序列化漏洞,原因是因为对序列化后的字符进行过滤,导致用户可控字符溢出,从而控制序列化内容,配合对象注入导致RCE.刚好今天刷CTF题时遇到了一个类 ...
- SEER见证人操作指南
SEER的见证人设计 共识方式 在区块生产者的产生方式上,SEER采取了PoS的共识方式,用户通过智能合约抵押自己持有的SEER竞选主力见证人(区块生产者). 对于SEER区块链来说,制约区块链TPS ...