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判断字符串与大小写转换
Jun 08 Python
利用Python画ROC曲线和AUC值计算
Sep 19 Python
值得收藏,Python 开发中的高级技巧
Nov 23 Python
python 求1-100之间的奇数或者偶数之和的实例
Jun 11 Python
python实现上传文件到linux指定目录的方法
Jan 03 Python
Python ORM编程基础示例
Feb 02 Python
Python 3.8 新功能大揭秘【新手必学】
Feb 05 Python
python的sys.path模块路径添加方式
Mar 09 Python
python 实现仿微信聊天时间格式化显示的代码
Apr 17 Python
python输出结果刷新及进度条的实现操作
Jul 13 Python
pytorch实现线性回归以及多元回归
Apr 11 Python
Python+Tkinter打造签名设计工具
Apr 01 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
调频问题解答
2021/03/01 无线电
php环境配置之CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI比较?
2011/10/17 PHP
PHP数组中头部和尾部添加元素的方法(array_unshift,array_push)
2017/04/10 PHP
js刷新框架子页面的七种方法代码
2008/11/20 Javascript
jQuery EasyUI API 中文文档 - Menu菜单
2011/10/03 Javascript
jquery中$.post()方法的简单实例
2014/02/04 Javascript
javascript 继承学习心得总结
2016/03/17 Javascript
手机浏览器 后退按钮强制刷新页面方法总结
2016/10/09 Javascript
对javascript继承的理解
2016/10/11 Javascript
jQuery动态添加与删除tr行实例代码
2016/10/18 Javascript
使用Curl命令查看请求响应时间方法
2016/11/04 Javascript
js实现以最简单的方式将数组元素添加到对象中的方法
2017/12/20 Javascript
vue引入ueditor及node后台配置详解
2018/01/03 Javascript
Vue 重置组件到初始状态的方法示例
2018/10/10 Javascript
vue环形进度条组件实例应用
2018/10/10 Javascript
Angular 实现输入框中显示文章标签的实例代码
2018/11/07 Javascript
详解在不使用ssr的情况下解决Vue单页面SEO问题
2018/11/08 Javascript
微信小程序中的canvas 文字断行和省略号显示功能的处理方法
2018/11/14 Javascript
微信小程序canvas开发水果老虎机的思路详解
2020/02/07 Javascript
python实现简单的计时器功能函数
2015/03/14 Python
Python中的列表生成式与生成器学习教程
2016/03/13 Python
django model去掉unique_together报错的解决方案
2016/10/18 Python
Python编程之string相关操作实例详解
2017/07/22 Python
PyQt 图解Qt Designer工具的使用方法
2019/08/06 Python
Python 类,property属性(简化属性的操作),@property,property()用法示例
2019/10/12 Python
Python with语句和过程抽取思想
2019/12/23 Python
Python安装依赖(包)模块方法详解
2020/02/14 Python
Python3爬虫中Splash的知识总结
2020/07/10 Python
Python为何不支持switch语句原理详解
2020/10/21 Python
Python爬虫入门教程01之爬取豆瓣Top电影
2021/01/24 Python
HTML5触摸事件演化tap事件介绍
2016/03/25 HTML / CSS
详解android与HTML混合开发总结
2018/06/06 HTML / CSS
幼儿园大班毕业教师寄语
2014/04/03 职场文书
感恩老师的演讲稿
2014/05/06 职场文书
学习十八大标语
2014/10/09 职场文书
Java新手教程之ArrayList的基本使用
2021/06/20 Java/Android