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使用xlrd模块读写Excel文件的方法
May 06 Python
使用py2exe在Windows下将Python程序转为exe文件
Mar 04 Python
python之文件的读写和文件目录以及文件夹的操作实现代码
Aug 28 Python
Python之str操作方法(详解)
Jun 19 Python
使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”
Mar 23 Python
python opencv3实现人脸识别(windows)
May 25 Python
Python将8位的图片转为24位的图片实现方法
Oct 24 Python
Flask框架中request、请求钩子、上下文用法分析
Jul 23 Python
pandas按行按列遍历Dataframe的几种方式
Oct 23 Python
Python 操作 PostgreSQL 数据库示例【连接、增删改查等】
Apr 21 Python
python中time、datetime模块的使用
Dec 14 Python
如何用python反转图片,视频
Apr 24 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
Yii中Model(模型)的创建及使用方法
2015/12/28 PHP
php动态读取数据清除最右边距的方法
2017/04/12 PHP
IE 上下滚动展示模仿Marquee机制
2009/12/20 Javascript
JavaScript 代码压缩工具小结
2012/02/27 Javascript
php读取sqlite数据库入门实例代码
2014/06/25 Javascript
JavaScript实现的一个日期格式化函数分享
2014/12/06 Javascript
JavaScript实现彩虹文字效果的方法
2015/04/16 Javascript
js实现全国省份城市级联下拉菜单效果代码
2015/09/07 Javascript
在javascript中随机数 math random如何生成指定范围数值的随机数
2015/10/21 Javascript
原生js配合cookie制作保存路径的拖拽
2015/12/29 Javascript
Javascript中call,apply,bind方法的详解与总结
2016/12/12 Javascript
根据Bootstrap Paginator改写的js分页插件
2016/12/25 Javascript
jQuery使用正则表达式替换dom元素标签用法示例
2017/01/16 Javascript
Bootstrap框架安装使用详解
2017/01/21 Javascript
jQuery validata插件实现方法
2017/06/25 jQuery
vue项目实现记住密码到cookie功能示例(附源码)
2018/01/31 Javascript
vue中axios防止多次触发终止多次请求的示例代码(防抖)
2020/02/16 Javascript
javascript设计模式 ? 适配器模式原理与应用实例分析
2020/04/13 Javascript
在Python的Flask框架中实现单元测试的教程
2015/04/20 Python
numpy 进行数组拼接,分别在行和列上合并的实例
2018/05/08 Python
numpy返回array中元素的index方法
2018/06/27 Python
解决Shell执行python文件,传参空格引起的问题
2018/10/30 Python
python使用Paramiko模块实现远程文件拷贝
2019/04/30 Python
wxpython多线程防假死与线程间传递消息实例详解
2019/12/13 Python
python def 定义函数,调用函数方式
2020/06/02 Python
Python几种常见算法汇总
2020/06/02 Python
Keras:Unet网络实现多类语义分割方式
2020/06/11 Python
英国假发网站:Hothair
2018/02/23 全球购物
英国定做窗帘和纺织品面料一站式商店:Dekoria
2018/08/29 全球购物
家得宝墨西哥官网:The Home Depot墨西哥
2019/11/18 全球购物
总账会计岗位职责
2014/03/13 职场文书
小学校园广播稿集锦
2014/10/04 职场文书
政风行风整改报告
2014/11/06 职场文书
2015年端午节国旗下演讲稿
2015/03/19 职场文书
学校标语口号大全
2015/12/26 职场文书
教你使用Python pypinyin库实现汉字转拼音
2021/05/27 Python