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数据类型转换函数总结
Mar 11 Python
用python找出那些被“标记”的照片
Apr 20 Python
修复CentOS7升级Python到3.6版本后yum不能正确使用的解决方法
Jan 26 Python
python实现朴素贝叶斯分类器
Mar 28 Python
Python统计单词出现的次数
Apr 04 Python
Python实现带参数的用户验证功能装饰器示例
Dec 14 Python
Django单元测试工具test client使用详解
Aug 02 Python
使用pyhon绘图比较两个手机屏幕大小(实例代码)
Jan 03 Python
pytorch之添加BN的实现
Jan 06 Python
Pycharm生成可执行文件.exe的实现方法
Jun 02 Python
python 19个值得学习的编程技巧
Aug 15 Python
python基础之函数的定义和调用
Oct 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
为php4加入动态flash文件的生成的支持
2006/10/09 PHP
PHP二维数组排序的3种方法和自定义函数分享
2014/04/09 PHP
php实现压缩多个CSS与JS文件的方法
2014/11/11 PHP
利用PHP判断是手机移动端还是PC端访问的函数示例
2017/12/14 PHP
Laravel 实现数据软删除功能
2019/08/21 PHP
javascript (用setTimeout而非setInterval)
2011/12/28 Javascript
js将字符串转成正则表达式的实现方法
2013/11/13 Javascript
jquery实现在光标位置插入内容的方法
2015/02/05 Javascript
更靠谱的H5横竖屏检测方法(js代码)
2016/09/13 Javascript
angularjs实现的前端分页控件示例
2017/02/10 Javascript
vue使用Axios做ajax请求详解
2017/06/07 Javascript
在微信小程序中渲染HTML内容的方法示例
2018/09/28 Javascript
vue中使用mxgraph的方法实例代码详解
2019/05/17 Javascript
中级前端工程师必须要掌握的27个JavaScript 技巧(干货总结)
2019/09/23 Javascript
countUp.js实现数字动态变化效果
2019/10/17 Javascript
详解Typescript 内置的模块导入兼容方式
2020/05/31 Javascript
解决vue-router 嵌套路由没反应的问题
2020/09/22 Javascript
[52:40]完美世界DOTA2联赛PWL S2 Magma vs GXR 第一场 11.29
2020/12/02 DOTA
利用Python如何生成hash值示例详解
2017/12/20 Python
Python3多进程 multiprocessing 模块实例详解
2018/06/11 Python
对Pyhon实现静态变量全局变量的方法详解
2019/01/11 Python
Python对ElasticSearch获取数据及操作
2019/04/24 Python
Python的numpy库下的几个小函数的用法(小结)
2019/07/12 Python
django项目简单调取百度翻译接口的方法
2019/08/06 Python
Python监控服务器实用工具psutil使用解析
2019/12/19 Python
Python3.7在anaconda里面使用IDLE编译器的步骤详解
2020/04/29 Python
python实现批量命名照片
2020/06/18 Python
Python系统公网私网流量监控实现流程
2020/11/23 Python
意大利单身交友网站:Meetic
2020/07/12 全球购物
专科应届生求职信
2013/11/24 职场文书
应届毕业生求职自荐书
2014/01/03 职场文书
国际会议邀请函范文
2014/01/16 职场文书
世界环境日活动总结
2015/02/11 职场文书
委托开发合同书(标准版)
2019/08/07 职场文书
python编写函数注意事项总结
2021/03/29 Python
基于Python实现一个春节倒计时脚本
2022/01/22 Python