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 相关文章推荐
py2exe 编译ico图标的代码
Mar 08 Python
Python入门及进阶笔记 Python 内置函数小结
Aug 09 Python
Python根据区号生成手机号码的方法
Jul 08 Python
python通过elixir包操作mysql数据库实例代码
Jan 31 Python
Django中cookie的基本使用方法示例
Feb 03 Python
Python内置模块ConfigParser实现配置读写功能的方法
Feb 12 Python
Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
Mar 19 Python
Python装饰器基础概念与用法详解
Dec 22 Python
使用python3调用wxpy模块监控linux日志并定时发送消息给群组或好友
Jun 05 Python
python+numpy按行求一个二维数组的最大值方法
Jul 09 Python
python psutil监控进程实例
Dec 17 Python
Python GUI之tkinter窗口视窗教程大集合(推荐)
Oct 20 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新手NOTICE错误常见解决方法
2011/12/07 PHP
php中的Base62类(适用于数值转字符串)
2013/08/12 PHP
PHP递归实现层级树状展开
2016/04/01 PHP
php PDO实现的事务回滚示例
2017/03/23 PHP
PHP排序算法之简单选择排序(Simple Selection Sort)实例分析
2018/04/20 PHP
用JS写的一个TableView控件代码
2010/01/23 Javascript
jQuery实现点击标题输入详细信息
2013/04/16 Javascript
javaScript年份下拉列表框内容为当前年份及前后50年
2014/05/28 Javascript
jquery判断复选框是否被选中的方法
2015/10/16 Javascript
基于BootStrap的Metronic框架实现页面链接收藏夹功能按钮移动收藏记录(使用Sortable进行拖动排序)
2016/08/29 Javascript
在html中引入外部js文件,并调用带参函数的方法
2016/10/31 Javascript
浅析Node.js:DNS模块的使用
2016/11/23 Javascript
原生JS实现在线问卷调查投票特效
2017/01/03 Javascript
react-native中ListView组件点击跳转的方法示例
2017/09/30 Javascript
Vue2.0学习之详解Vue 组件及父子组件通信
2017/12/12 Javascript
jquery validate 实现动态增加/删除验证规则操作示例
2019/10/28 jQuery
深入理解redux之compose的具体应用
2020/01/12 Javascript
JS实现可视化音频效果的实例代码
2020/01/16 Javascript
javascrpt密码强度校验函数详解
2020/03/18 Javascript
JavaScript 防盗链的原理以及破解方法
2020/12/29 Javascript
[33:23]Secret vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python中创建字典的几种方法总结(推荐)
2017/04/27 Python
python url 参数修改方法
2018/12/26 Python
Python 分发包中添加额外文件的方法
2019/08/16 Python
python opencv根据颜色进行目标检测的方法示例
2020/01/15 Python
python的reverse函数翻转结果为None的问题
2020/05/11 Python
python转化excel数字日期为标准日期操作
2020/07/14 Python
app内嵌H5 webview 本地缓存问题的解决
2020/10/19 HTML / CSS
佳能英国官方网站:Canon UK
2017/08/08 全球购物
大学校务公开实施方案
2014/03/31 职场文书
英文演讲稿开场白
2014/08/25 职场文书
高中社区服务活动报告
2015/02/05 职场文书
出生证明范本
2015/06/15 职场文书
2015年秋季运动会广播稿
2015/08/19 职场文书
Java实现聊天机器人完善版
2021/07/04 Java/Android
2007年老电脑安装win11会怎么样? 网友实测win11在老电脑运行良好
2021/11/21 数码科技