python实现自动清理文件夹旧文件


Posted in Python onMay 10, 2021

本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下

由于程序一直在不停地存图,因此需要监测图片文件夹的大小,一旦超过指定大小则删除一部分最早的图片。

采用开线程的方式,在线程里每隔一段时间键执行一次监测过程。

即  测文件夹大小->若超过则将文件夹里的文件按最后修改时间排序->删除一些最早的图片->删的过程中监测文件夹大小是否符合要求 

# -*- coding: utf-8 -*-
 
# 
# 开线程检测文件夹大小,超过指定大小,则按文件最后修改时间排序并删除一部分旧图片
# 在线程里每隔一段时间检测一次
#
 
import os
import threading
import time
 
 
#文件按最后修改时间排序
def get_file_list(file_path):
  dir_list = os.listdir(file_path)
  if not dir_list:
    return
  else:
    dir_list = sorted(dir_list, key=lambda x: os.path.getmtime(os.path.join(file_path, x)))
    #print(dir_list)
    return dir_list
 
#获取文件夹大小
def get_size(file_path):
    totalsize=0
    for filename in os.listdir(file_path):
        totalsize=totalsize+os.path.getsize(os.path.join(file_path, filename))
    #print(totalsize / 1024 / 1024)
    return totalsize / 1024 / 1024
 
# 1文件目录   2文件夹最大大小(M)   3超过后要删除的大小(M)
def detect_file_size(file_path, size_Max, size_Del):
    print(get_size(file_path))
    if get_size(file_path) > size_Max:
        fileList = get_file_list(file_path)
        for i in range(len(fileList)):
            if get_size(file_path) > (size_Max - size_Del):
                print ("del :%d %s" % (i + 1, fileList[i]))
                os.remove(file_path + fileList[i])
    
 
#检测线程,每个5秒检测一次
def detectPicSize():
    while True:
        print('======detect============')
        detect_file_size("../pic/", 30, 5)
        time.sleep(5)
  
if __name__ == "__main__":
    #创建检测线程
    detect_thread = threading.Thread(target = detectPicSize)
    detect_thread.start()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现从网络下载文件并获得文件大小及类型的方法
Apr 28 Python
Python的迭代器和生成器
Jul 29 Python
Python和C/C++交互的几种方法总结
May 11 Python
用Python和WordCloud绘制词云的实现方法(内附让字体清晰的秘笈)
Jan 08 Python
Python之时间和日期使用小结
Feb 14 Python
在keras下实现多个模型的融合方式
May 23 Python
Python sorted对list和dict排序
Jun 09 Python
浅析Python 条件控制语句
Jul 15 Python
解决redis与Python交互取出来的是bytes类型的问题
Jul 16 Python
python中如何使用虚拟环境
Oct 14 Python
python中的3种定义类方法
Nov 27 Python
Python实现视频中添加音频工具详解
Dec 06 Python
Python中的min及返回最小值索引的操作
May 10 #Python
发工资啦!教你用Python实现邮箱自动群发工资条
在Django中使用MQTT的方法
May 10 #Python
十个Python自动化常用操作,即拿即用
May 10 #Python
Django开发RESTful API实现增删改查(入门级)
May 10 #Python
Python中X[:,0]和X[:,1]的用法
May 10 #Python
Python Django搭建文件下载服务器的实现
You might like
如何写php程序?
2006/12/08 PHP
PHP配置文件中最常用四个ini函数
2007/03/19 PHP
PHP中使用foreach和引用导致程序BUG的问题介绍
2012/09/05 PHP
PHP中怎样保持SESSION不过期 原理及方案介绍
2013/08/08 PHP
javaScript 判断字符串是否为数字的简单方法
2009/07/25 Javascript
javascript下string.format函数补充
2010/08/24 Javascript
jquery中动态效果小结
2010/12/16 Javascript
JQuery实现用户名无刷新验证的小例子
2013/03/22 Javascript
jquery实现输入框动态增减的实例代码
2013/07/14 Javascript
checkbox使用示例
2013/08/23 Javascript
在浏览器中打开或关闭JavaScript的方法
2015/06/03 Javascript
jQuery中$(function() {});问题详解
2015/08/10 Javascript
jQuery根据表单name获取值的方法
2016/05/24 Javascript
微信小程序使用二次贝塞尔曲线画波浪
2018/12/25 Javascript
Vuex持久化插件(vuex-persistedstate)解决刷新数据消失的问题
2019/04/16 Javascript
小程序中使用css var变量(使js可以动态设置css样式属性)
2020/03/31 Javascript
[43:47]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第一局
2016/03/05 DOTA
python发送伪造的arp请求
2014/01/09 Python
零基础写python爬虫之抓取百度贴吧代码分享
2014/11/06 Python
python实现通过代理服务器访问远程url的方法
2015/04/29 Python
Python实现将不规范的英文名字首字母大写
2016/11/15 Python
Python中list查询及所需时间计算操作示例
2018/06/21 Python
python中的turtle库函数简单使用教程
2018/07/23 Python
Python告诉你木马程序的键盘记录原理
2019/02/02 Python
Python基于datetime或time模块分别获取当前时间戳的方法实例
2019/02/19 Python
python2与python3爬虫中get与post对比解析
2019/09/18 Python
PySide2出现“ImportError: DLL load failed: 找不到指定的模块”的问题及解决方法
2020/06/10 Python
Python pip 常用命令汇总
2020/10/19 Python
python 实现端口扫描工具
2020/12/18 Python
python-图片流传输的思路及示例(url转换二维码)
2020/12/21 Python
HTML5中canvas中的beginPath()和closePath()的重要性
2018/08/24 HTML / CSS
澳大利亚便宜隐形眼镜购买网站:QUICKLENS Australia
2018/10/06 全球购物
应届生.NET方向面试题
2015/05/23 面试题
三好学生演讲稿范文
2014/04/26 职场文书
2014年高三班主任工作总结
2014/12/05 职场文书
初中毕业生自我评价
2015/03/02 职场文书