'''根据文件夹大小定时删除文件夹部分比较旧的数据'''
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)