python比较文件的修改时间_python 根据文件夹大小删除修改时间比较早的文件

该脚本用于定期检查并删除指定文件夹中超过一定容量(例如50MB)时的旧图片文件(.jpg)。首先计算文件夹大小,如果超出限制,它会获取所有.jpg文件的修改时间,按时间排序,并删除最旧的60个文件。这个自动化过程有助于保持文件夹的大小在合理范围内。
摘要由CSDN通过智能技术生成

'''根据文件夹大小定时删除文件夹部分比较旧的数据'''

import os

import time

import datetime

FILE_DIR = 'E:/Djangocode/RSMDSys/static/imagedata/'

'''计算文件夹容量 单位为MB'''

def fileCapacity(FILE_DIR):

s=0

for root, dirs, files in os.walk(FILE_DIR):

for f in files:

s=s+os.path.getsize(os.path.join(root, f))

return s/1024/1024 #单位为MB

def fileremove(filename):

if os.path.exists(filename):

os.remove(filename)

print('remove file: %s' % filename)

else:

print('no such file: %s' % filename)

if __name__ == '__main__':

i=0

# while True:

# 获取文件夹容量

file_capacity=fileCapacity(FILE_DIR)

# if file_capacity>50:

ITEMS = os.listdir(FILE_DIR) #FILE_DIR中的所有文件

create_time = []

file_name=[]

for names in ITEMS:

if names.endswith(".jpg"):

filename=FILE_DIR+names

file_name.append(filename)

create_time.append(os.path.getmtime(filename))#获取文件的修改时间

dit={}

#将两个list转换为dict

dit=dict(zip(create_time,file_name))

print(dit)

#根据dit的key对dit进行排序(变为list)

dit=sorted(dit.items(),key=lambda d:d[-1],reverse=False)

print(dit)

for i in range(60): #删除文件个数

file_location=dit[i][1]

fileremove(file_location)

print(dit)

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值