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代码(逐级优化)
May 25 Python
简单介绍Python的轻便web框架Bottle
Apr 08 Python
详解python中requirements.txt的一切
Mar 03 Python
python 创建弹出式菜单的实现代码
Jul 11 Python
Python实现运行其他程序的四种方式实例分析
Aug 17 Python
Python数据结构与算法之图的基本实现及迭代器实例详解
Dec 12 Python
解决pycharm remote deployment 配置的问题
Jun 27 Python
Python 3.6 中使用pdfminer解析pdf文件的实现
Sep 25 Python
Python大数据之网络爬虫的post请求、get请求区别实例分析
Nov 16 Python
pycharm实现在虚拟环境中引入别人的项目
Mar 09 Python
提高python代码运行效率的一些建议
Sep 29 Python
matplotlib交互式数据光标mpldatacursor的实现
Feb 03 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一句话cmdshell新型 (非一句话木马)
2009/04/18 PHP
php cli模式学习(PHP命令行模式)
2013/06/03 PHP
神盾加密解密教程(二)PHP 神盾解密
2014/06/08 PHP
PHP学习笔记(二):变量详解
2015/04/17 PHP
php通过获取头信息判断图片类型的方法
2015/06/26 PHP
php提高网站效率的技巧
2015/09/29 PHP
PHP二维数组去重算法
2016/12/17 PHP
php mysql数据库操作类(实例讲解)
2017/08/06 PHP
PHP强制转化的形式整理
2020/05/22 PHP
js form action动态修改方法
2008/11/04 Javascript
深入理解JS中的substr和substring
2016/04/26 Javascript
再次谈论Javascript中的this
2016/06/23 Javascript
AngularJS实用开发技巧(推荐)
2016/07/13 Javascript
request请求获取参数的实现方法(post和get两种方式)
2016/09/27 Javascript
AngularJS表单验证中级篇(3)
2016/09/28 Javascript
基于JavaScript实现下拉列表左右移动代码
2017/02/07 Javascript
Angular实现一个简单的多选复选框的弹出框指令实例
2017/04/25 Javascript
node.js操作mongodb简单示例分享
2017/05/25 Javascript
详解微信小程序中的页面代码中的模板的封装
2017/10/12 Javascript
Node.js中sequelize时区的配置方法
2017/12/10 Javascript
详解Vue项目部署遇到的问题及解决方案
2019/01/11 Javascript
layui内置模块layim发送图片添加加载动画的方法
2019/09/23 Javascript
[00:16]热血竞技场
2019/03/06 DOTA
Python中字典和集合学习小结
2017/07/07 Python
python检测文件夹变化,并拷贝有更新的文件到对应目录的方法
2018/10/17 Python
wxPython修改文本框颜色过程解析
2020/02/14 Python
python与c语言的语法有哪些不一样的
2020/09/13 Python
html5理解head_动力节点Java学院整理
2017/07/13 HTML / CSS
html5自动播放mov格式视频的实例代码
2020/01/14 HTML / CSS
为娇小女性量身打造:Petite Studio
2018/11/01 全球购物
同程旅游英文网站:LY.com
2018/11/13 全球购物
艺术系大学生毕业个人自我评价
2013/09/19 职场文书
咖啡厅商业计划书
2014/09/15 职场文书
2016毕业实习单位评语大全
2015/12/01 职场文书
适合毕业生创业的项目怎么找?
2019/08/08 职场文书
Python内置数据类型中的集合详解
2022/03/18 Python