python實(shí)現(xiàn)自動(dòng)清理文件夾舊文件
本文實(shí)例為大家分享了Android九宮格圖片展示的具體代碼,供大家參考,具體內(nèi)容如下
由于程序一直在不停地存圖,因此需要監(jiān)測(cè)圖片文件夾的大小,一旦超過(guò)指定大小則刪除一部分最早的圖片。
采用開線程的方式,在線程里每隔一段時(shí)間鍵執(zhí)行一次監(jiān)測(cè)過(guò)程。
即 測(cè)文件夾大小->若超過(guò)則將文件夾里的文件按最后修改時(shí)間排序->刪除一些最早的圖片->刪的過(guò)程中監(jiān)測(cè)文件夾大小是否符合要求
# -*- coding: utf-8 -*-
#
# 開線程檢測(cè)文件夾大小,超過(guò)指定大小,則按文件最后修改時(shí)間排序并刪除一部分舊圖片
# 在線程里每隔一段時(shí)間檢測(cè)一次
#
import os
import threading
import time
#文件按最后修改時(shí)間排序
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超過(guò)后要?jiǎng)h除的大小(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])
#檢測(cè)線程,每個(gè)5秒檢測(cè)一次
def detectPicSize():
while True:
print('======detect============')
detect_file_size("../pic/", 30, 5)
time.sleep(5)
if __name__ == "__main__":
#創(chuàng)建檢測(cè)線程
detect_thread = threading.Thread(target = detectPicSize)
detect_thread.start()
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Django報(bào)錯(cuò)TemplateDoesNotExist的問(wèn)題及解決
這篇文章主要介紹了Django報(bào)錯(cuò)TemplateDoesNotExist的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08
python fuzzywuzzy模塊模糊字符串匹配詳細(xì)用法
這篇文章主要介紹了使用Python完成公司名稱和地址的模糊匹配的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
基于python圖書館管理系統(tǒng)設(shè)計(jì)實(shí)例詳解
這篇文章主要介紹了基于python圖書館管理系統(tǒng)設(shè)計(jì)實(shí)例詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
python實(shí)現(xiàn)的生成隨機(jī)迷宮算法核心代碼分享(含游戲完整代碼)
這篇文章主要介紹了python實(shí)現(xiàn)的隨機(jī)迷宮生成算法核心代碼分享,本文包含一個(gè)簡(jiǎn)單迷宮游戲完整代碼,需要的朋友可以參考下2014-07-07
Python面向?qū)ο蟪绦蛟O(shè)計(jì)之繼承與多繼承用法分析
這篇文章主要介紹了Python面向?qū)ο蟪绦蛟O(shè)計(jì)之繼承與多繼承用法,結(jié)合實(shí)例形式分析了Python繼承與多繼承的簡(jiǎn)單定義與使用方法,需要的朋友可以參考下2018-07-07
Python實(shí)現(xiàn)學(xué)生管理系統(tǒng)的完整代碼(面向?qū)ο?
這篇文章主要介紹了Python實(shí)現(xiàn)學(xué)生管理系統(tǒng)的完整代碼(面向?qū)ο?,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04
Python代碼庫(kù)之Tuple如何append添加元素問(wèn)題
這篇文章主要介紹了Python代碼庫(kù)之Tuple如何append添加元素問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01

