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程序实例(通讯录)
Nov 29 Python
Python中的多重装饰器
Apr 11 Python
教你用Python脚本快速为iOS10生成图标和截屏
Sep 22 Python
人工智能最火编程语言 Python大战Java!
Nov 13 Python
Python实现冒泡排序的简单应用示例
Dec 11 Python
python编写简易聊天室实现局域网内聊天功能
Jul 28 Python
python实现自动登录后台管理系统
Oct 18 Python
详解Python 定时框架 Apscheduler原理及安装过程
Jun 14 Python
Python定时任务APScheduler的实例实例详解
Jul 22 Python
python生成特定分布数的实例
Dec 05 Python
如何使用Python发送HTML格式的邮件
Feb 11 Python
python安装后的目录在哪里
Jun 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中使用与Perl兼容的正则表达式
2006/11/26 PHP
洪恩在线成语词典小偷程序php版
2012/04/20 PHP
PHP准确取得服务器IP地址的方法
2015/06/02 PHP
php使用gzip压缩传输js和css文件的方法
2015/07/29 PHP
php微信公众平台开发之微信群发信息
2016/09/13 PHP
PHP实现原生态图片上传封装类方法
2016/11/08 PHP
ThinkPhP+Apache+PHPstorm整合框架流程图解
2020/11/23 PHP
CL vs ForZe BO5 第五场 2.13
2021/03/10 DOTA
Javascript 对象的解释
2008/11/24 Javascript
JS给Textarea文本框添加行号的方法
2015/08/20 Javascript
JavaScript转换数据库DateTime字段类型方法
2017/06/27 Javascript
默认浏览器设置及vue自动打开页面的方法
2018/09/21 Javascript
nodejs npm错误Error:UNKNOWN:unknown error,mkdir 'D:\Develop\nodejs\node_global'at Error
2019/03/02 NodeJs
vue路由--网站导航功能详解
2019/03/29 Javascript
详解如何运行vue项目
2019/04/15 Javascript
layui 实现二级弹窗弹出之后 关闭一级弹窗的方法
2019/09/18 Javascript
vue element-ul实现展开和收起功能的实例代码
2020/11/25 Vue.js
JavaScript中遍历的十种方法总结
2020/12/15 Javascript
[36:22]VP vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
pycharm 使用心得(六)进行简单的数据库管理
2014/06/06 Python
Python中函数的用法实例教程
2014/09/08 Python
Python中使用items()方法返回字典元素对的教程
2015/05/21 Python
python魔法方法-自定义序列详解
2016/07/21 Python
对Python3之方法的覆盖与super函数详解
2019/06/26 Python
Python中zip()函数的解释和可视化(实例详解)
2020/02/16 Python
Python调用jar包方法实现过程解析
2020/08/11 Python
Python中猜拳游戏与猜筛子游戏的实现方法
2020/09/04 Python
苏格兰在线威士忌商店:The Whisky Barrel
2019/05/07 全球购物
英国独特家具和家庭用品购物网站:Cuckooland
2020/08/30 全球购物
Delphi笔试题
2016/11/14 面试题
夜大毕业生自我评价分享
2013/11/10 职场文书
实习教师自我鉴定
2013/12/09 职场文书
禁毒宣传活动总结
2014/08/26 职场文书
学生不讲诚信检讨书
2014/09/29 职场文书
2015秋季幼儿园开学通知
2015/07/16 职场文书
css常用字体属性与背景属性介绍
2022/02/28 HTML / CSS