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 相关文章推荐
wxpython 最小化到托盘与欢迎图片的实现方法
Jun 09 Python
centos系统升级python 2.7.3
Jul 03 Python
python实现查询苹果手机维修进度
Mar 16 Python
Python学习笔记之if语句的使用示例
Oct 23 Python
对django后台admin下拉框进行过滤的实例
Jul 26 Python
python之pymysql模块简单应用示例代码
Dec 16 Python
Python中if有多个条件处理方法
Feb 26 Python
python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法
Feb 26 Python
浅析matlab中imadjust函数
Feb 27 Python
python sitk.show()与imageJ结合使用常见的问题
Apr 20 Python
Python接收手机短信的代码整理
Aug 02 Python
matlab xlabel位置的设置方式
May 21 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 根据IP地址控制访问的代码
2010/04/22 PHP
基于php冒泡排序算法的深入理解
2013/06/09 PHP
详解Laravel5.6 Passport实现Api接口认证
2018/07/27 PHP
实现php删除链表中重复的结点
2018/09/27 PHP
浅谈laravel aliases别名的原理
2019/10/24 PHP
使用jQuery判断IE浏览器版本的代码
2014/06/14 Javascript
jquery制作图片时钟特效
2020/03/30 Javascript
Angularjs---项目搭建图文教程
2016/07/08 Javascript
妙用Bootstrap的 popover插件实现校验表单提示功能
2016/08/29 Javascript
深入理解bootstrap框架之入门准备
2016/10/09 Javascript
jsp 自动编译机制详细介绍
2016/12/01 Javascript
jquery将标签元素的高设为屏幕的百分比
2017/04/19 jQuery
vue.js实现刷新当前页面的方法教程
2017/07/05 Javascript
10分钟上手vue-cli 3.0 入门介绍
2018/04/04 Javascript
关于echarts在节点显示动态数据及添加提示文本所遇到的问题
2018/04/20 Javascript
vue使用Font Awesome的方法步骤
2019/02/26 Javascript
[15:07]lgd_OG_m2_BP
2019/09/10 DOTA
在Python程序中进行文件读取和写入操作的教程
2015/04/28 Python
Python使用django搭建web开发环境
2017/06/09 Python
Python学生成绩管理系统简洁版
2020/04/05 Python
Python使用pyh生成HTML文档的方法示例
2018/03/10 Python
python实现flappy bird游戏
2018/12/24 Python
python递归法解决棋盘分割问题
2019/07/17 Python
使用python 计算百分位数实现数据分箱代码
2020/03/03 Python
详解python datetime模块
2020/08/17 Python
Python如何把字典写入到CSV文件的方法示例
2020/08/23 Python
python爬虫爬取淘宝商品比价(附淘宝反爬虫机制解决小办法)
2020/12/03 Python
美国知名的在线旅游服务网站:Priceline
2016/07/23 全球购物
欧缇丽美国官网:Caudalie美国
2016/12/31 全球购物
水果花束:Fruit Bouquets
2017/12/20 全球购物
党员廉洁自律承诺书
2014/05/26 职场文书
节约用水的口号
2014/06/20 职场文书
高中国旗下的演讲稿
2014/08/28 职场文书
公务员政审材料范文
2014/12/23 职场文书
劳模事迹材料范文
2014/12/24 职场文书
动画电影《龙珠超 超级英雄》延期上映
2022/03/20 日漫