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使用QRCode模块生成二维码实例详解
Jun 14 Python
python中的计时器timeit的使用方法
Oct 20 Python
python 3.5实现检测路由器流量并写入txt的方法实例
Dec 17 Python
Python批量提取PDF文件中文本的脚本
Mar 14 Python
利用Python将数值型特征进行离散化操作的方法
Nov 06 Python
Python OS模块实例详解
Apr 15 Python
PyQt5 对图片进行缩放的实例
Jun 18 Python
对python中的控制条件、循环和跳出详解
Jun 24 Python
python构造函数init实例方法解析
Jan 19 Python
Python爬虫程序架构和运行流程原理解析
Mar 09 Python
django 解决model中类写不到数据库中,数据库无此字段的问题
May 20 Python
python Matplotlib基础--如何添加文本和标注
Jan 26 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类的定义与继承用法实例
2015/07/07 PHP
PHP二维数组去重算法
2016/12/17 PHP
PHP读取Excel类文件
2017/05/15 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
JavaScript 拾漏补遗
2009/12/27 Javascript
一个js拖拽的效果类和dom-drag.js浅析
2010/07/17 Javascript
javascript函数以及基础写法100多条实用整理
2013/01/13 Javascript
可在线编辑网页文字效果代码(单击)
2013/03/02 Javascript
解决jquery操作checkbox火狐下第二次无法勾选问题
2014/02/10 Javascript
jQuery动态修改超链接地址的方法
2015/02/13 Javascript
JavaScript获取当前日期是星期几的方法
2015/04/06 Javascript
JSON中key动态设置及JSON.parse和JSON.stringify()的区别
2016/12/29 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(1)
2017/02/20 Javascript
Bootstrap输入框组件简单实现代码
2017/03/06 Javascript
Angular利用trackBy提升性能的方法
2018/01/26 Javascript
Element Carousel 走马灯的具体实现
2020/07/26 Javascript
JavaScript实现点击切换功能
2021/01/27 Javascript
Python和perl实现批量对目录下电子书文件重命名的代码分享
2014/11/21 Python
flask中使用蓝图将路由分开写在不同文件实例解析
2018/01/19 Python
tf.truncated_normal与tf.random_normal的详细用法
2018/03/05 Python
Python爬虫实现简单的爬取有道翻译功能示例
2018/07/13 Python
Python实现的IP端口扫描工具类示例
2019/02/15 Python
利用4行Python代码监测每一行程序的运行时间和空间消耗
2020/04/22 Python
Python urllib3软件包的使用说明
2020/11/18 Python
Python-split()函数实例用法讲解
2020/12/18 Python
Beauty Expert美国/加拿大:购买奢侈美容产品
2018/12/05 全球购物
控制工程专业个人求职信
2013/09/25 职场文书
教育局长自荐信范文
2013/12/22 职场文书
《母亲的恩情》教学反思
2014/02/13 职场文书
向国旗敬礼学生寄语大全
2014/09/30 职场文书
2015夏季作息时间调整通知
2015/04/24 职场文书
2019年聘任书的写作格式及范文!
2019/07/03 职场文书
二年级作文之动物作文
2019/11/13 职场文书
写一个Python脚本自动爬取Bilibili小视频
2021/04/24 Python
Golang 编译成DLL文件的操作
2021/05/06 Golang
Spring Cloud Netflix 套件中的负载均衡组件 Ribbon
2022/04/13 Java/Android