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自动连接ssh的方法
Mar 07 Python
详解Python中__str__和__repr__方法的区别
Apr 17 Python
浅析Python的web.py框架中url的设定方法
Jul 11 Python
python获取中文字符串长度的方法
Nov 14 Python
Django的models中on_delete参数详解
Jul 16 Python
解决Python3 抓取微信账单信息问题
Jul 19 Python
django 消息框架 message使用详解
Jul 22 Python
详解在Python中以绝对路径或者相对路径导入文件的方法
Aug 30 Python
python验证码图片处理(二值化)
Nov 01 Python
解析pip安装第三方库但PyCharm中却无法识别的问题及PyCharm安装第三方库的方法教程
Mar 10 Python
python+opencv3.4.0 实现HOG+SVM行人检测的示例代码
Jan 28 Python
Django中celery的使用项目实例
Jul 07 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中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
2011/03/29 PHP
计算php页面运行时间的函数介绍
2013/07/01 PHP
PHP语法自动检查的Vim插件
2014/08/11 PHP
PHP中preg_match函数正则匹配的字符串长度问题
2015/05/27 PHP
PHP在线书签系统分享
2016/01/04 PHP
thinkPHP简单导入和使用阿里云OSSsdk的方法
2017/03/15 PHP
关于this和self的使用说明
2010/08/01 Javascript
JS限制Textarea文本域字符个数的具体实现
2013/08/02 Javascript
使用JS CSS去除IE链接虚线框的三种方法
2013/11/14 Javascript
jQuery中trigger()方法用法实例
2015/01/19 Javascript
EasyUI,点击开启编辑框,并且编辑框获得焦点的方法
2015/03/01 Javascript
jquery form表单获取内容以及绑定数据
2016/02/24 Javascript
jquery实现一个简单的表单验证实例
2016/03/30 Javascript
jquery checkbox的相关操作总结
2016/10/17 Javascript
jQuery实现动态添加、删除按钮及input输入框的方法
2017/04/27 jQuery
详解Nodejs mongoose
2018/06/10 NodeJs
python进阶教程之函数对象(函数也是对象)
2014/08/30 Python
Python版微信红包分配算法
2015/05/04 Python
Python中使用platform模块获取系统信息的用法教程
2016/07/08 Python
Python使用SQLite和Excel操作进行数据分析
2018/01/20 Python
Python使用re模块正则提取字符串中括号内的内容示例
2018/06/01 Python
Flask框架Flask-Login用法分析
2018/07/23 Python
快速排序的四种python实现(推荐)
2019/04/03 Python
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
2019/04/18 Python
python中dict使用方法详解
2019/07/17 Python
python 消费 kafka 数据教程
2019/12/21 Python
解决TensorFlow GPU版出现OOM错误的问题
2020/02/03 Python
keras输出预测值和真实值方式
2020/06/27 Python
Python 实现3种回归模型(Linear Regression,Lasso,Ridge)的示例
2020/10/15 Python
纯CSS3大转盘抽奖示例代码(响应式、可配置)
2017/01/13 HTML / CSS
EMPHASIS艾斐诗官网:周生生旗下原创精品珠宝品牌
2020/12/17 全球购物
毕业生自荐书
2014/02/02 职场文书
小班评语大全
2014/05/04 职场文书
2015年感恩父亲节演讲稿
2015/03/19 职场文书
幼儿园园长工作总结2015
2015/05/25 职场文书
Python Socket编程详解
2021/04/25 Python