python实现自动清理文件夹旧文件

本文实例为大家分享了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()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • python实现的文件夹清理程序分享

    使用: 复制代码 代码如下: foldercleanup.py -d 10 -k c:\test\keepfile.txt c:\test 表示对c:\test目录只保留最近10天的子文件夹和keepfile.txt中指定的子文件夹. 代码: 复制代码 代码如下: import os import os.path import datetime   def getOption():   from optparse import OptionParser     des   = "clean up

  • python实现自动清理文件夹旧文件

    本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下 由于程序一直在不停地存图,因此需要监测图片文件夹的大小,一旦超过指定大小则删除一部分最早的图片. 采用开线程的方式,在线程里每隔一段时间键执行一次监测过程. 即  测文件夹大小->若超过则将文件夹里的文件按最后修改时间排序->删除一些最早的图片->删的过程中监测文件夹大小是否符合要求 # -*- coding: utf-8 -*- # # 开线程检测文件夹大小,超过指定大小,则按文件最后修改时间排序并删

  • python实现自动清理重复文件

    前言 大家好,又到了Python办公自动化系列. 今天分享一个系统层面的自动化案例: 「给定一个文件夹,使用Python检查给定文件夹下有无文件重复,若存在重复则删除」 主要涉及的知识点有: os模块综合应用 glob模块综合应用 利用filecmp模块比较两个文件 步骤分析 该程序实现的逻辑可以具化为: 遍历获取给定文件夹下的所有文件,然后通过嵌套循环两两比较文件是否相同,如果相同则删除后者. 实现问题的关键就变成了? 如何判断两个文件是否相同? 在这里我们可以使用filecmp模块,来看看官

  • 用Python自动清理电脑内重复文件,只要10行代码(自动脚本)

    给定一个文件夹,使用Python检查给定文件夹下有无文件重复,若存在重复则删除 主要涉及的知识点有: os模块综合应用 glob模块综合应用 利用filecmp模块比较两个文件 步骤分析 该程序实现的逻辑可以具化为: 遍历获取给定文件夹下的所有文件,然后通过嵌套循环两两比较文件是否相同,如果相同则删除后者. 实现问题的关键就变成了 如何判断两个文件是否相同? 在这里我们可以使用filecmp模块,来看看官方的介绍文档: filecmp.cmp(f1, f2, shallow=True) 比较名为

  • Python实现自动清理电脑垃圾文件详解

    经常存在在我们的电脑中的垃圾文件主要是指系统在运行过程中产生的tmp临时文件.日志文件.临时备份文件等.垃圾清理器的作用其实也是对这些文件进行清理,不会影响到我们使用产生的数据文件.如果是手动删除的话要一个一个的找出来去删除就比较麻烦了,用python写一个脚本直接启动就大功告成了. 在这个脚本的实现过程中使用到的内置库就是os库,没有通过其他的三方插件进行实现.所以也不用下载其他的python模块,直接调用内置库就OK了. import os 因为我们使用界面化的处理,这里导入一下pyqt5的

  • Python文件夹与文件的相关操作(推荐)

    最近在写的程序频繁地与文件操作打交道,这块比较弱,还好在百度上找到一篇不错的文章,这是原文传送门,我对原文稍做了些改动. 有关文件夹与文件的查找,删除等功能 在 os 模块中实现.使用时需先导入这个模块, 导入的方法是: import os 一.取得当前目录 s = os.getcwd() # s 中保存的是当前目录(即文件夹) 比如运行abc.py,那么输入该命令就会返回abc所在的文件夹位置. 举个简单例子,我们将abc.py放入A文件夹.并且希望不管将A文件夹放在硬盘的哪个位置,都可以在A

  • php定时删除文件夹下文件(清理缓存文件)

    那么有没有方法自动清理临时文件夹呢? 以下代码就是一个简单定时清理文件夹下文件的php代码. ps:这个代码如果不重启网站会一直执行下去,所以只用作于本地环境测试,请别在网站上测试. 复制代码 代码如下: <?php ignore_user_abort(); //客户端断开时,可以让脚本继续在后台执行 set_time_limit(0); //忽略php.ini设置的脚本运行时间限制 $interval = 5*60; //设置执行周期,单位为秒,5分钟为 5*60=300 do{ $dir =

  • Python文件夹与文件的操作实现代码

    有关文件夹与文件的查找,删除等功能 在 os 模块中实现.使用时需先导入这个模块, 导入的方法是: import os 一.取得当前目录 s = os.getcwd() # s 中保存的是当前目录(即文件夹) 比如运行abc.py,那么输入该命令就会返回abc所在的文件夹位置. 举个简单例子,我们将abc.py放入A文件夹.并且希望不管将A文件夹放在硬盘的哪个位置,都可以在A文件夹内生成一个新文件夹.且文件夹的名字根据时间自动生成. import os import time folder =

  • Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】

    本文实例讲述了Python编程实现两个文件夹里文件的对比功能.分享给大家供大家参考,具体如下: #-*-coding:utf-8-*- #=============================================================================== # 目录对比工具(包含子目录 ),并列出 # 1.A比B多了哪些文件 # 2.B比A多了哪些文件 # 3.二者相同的文件:文件大小相同 VS 文件大小不同 (Size相同文件不打印:与Size不同文件显

  • Python批量重命名同一文件夹下文件的方法

    本文实例讲述了Python批量重命名同一文件夹下文件的方法.分享给大家供大家参考.具体分析如下: 朋友发了一个文件夹过来,里面的图片都以 .tmp 为后缀. 手工修改的话工作量太大.故写了一个 Python 脚本进行批量重命名. 对 Python 的标准库不熟,只能边查资料,或者 help() 边写代码. 三行代码就可以解决这一问题. 不过没有捕获异常.不能迭代同一目录下的所有文件. 代码如下: import os for file in os.listdir("."): if os.

  • Python模糊查询本地文件夹去除文件后缀的实例(7行代码)

    7行代码实现的,废话不多说,直接上代码: import os,re def fuzzy_search(path): word= input('请输入要查询的内容:') for filename in os.listdir(path): #遍历指定文件夹 re_filename = re.findall('.\w+', str(filename)) #去除文件后缀名 if word in re_filename[0]: print(re_filename[0]) 以上这篇Python模糊查询本地文

随机推荐