怎样用python写自动清理文件的功能?
Admin 2021-08-24 群英技术资讯 1019 次浏览
这篇文章给大家分享的是有关用python实现自动清理文件的功能的内容,文件夹中的很多旧文件常常容易被忽视,我们通过自动清理文件的功能就能不费事的清理这些文件,释放空间。小编觉得挺实用的,因此分享给大家做个参考,接下来一起跟随小编看看吧。
由于程序一直在不停地存图,因此需要监测图片文件夹的大小,一旦超过指定大小则删除一部分最早的图片。采用开线程的方式,在线程里每隔一段时间键执行一次监测过程。即 测文件夹大小->若超过则将文件夹里的文件按最后修改时间排序->删除一些最早的图片->删的过程中监测文件夹大小是否符合要求
# -*- 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实现自动清理文件功能,大家可以关注其他文章。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了利用Python写了一个水果忍者小游戏,
这篇文章主要介绍了nditer―numpy.ndarray 多维数组的迭代操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
这篇文章给大家分享的是有关python字符串格式化的内容,而python字符串格式化有百分号和format这两种方式,下面我们来分别了解一下,感兴趣的朋友就继续往下看吧。
这篇文章主要介绍了Python3中对range()逆序的解释,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
Matplotlib绘制图像显示中文的时候,中文会变成小方格子,下面这篇文章主要给大家介绍了关于如何彻底解决Python中matplotlib不显示中文问题的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008