1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Python查找目录下最大的指定个数的文件和图片

Python查找目录下最大的指定个数的文件和图片

时间:2019-07-07 04:13:28

相关推荐

Python查找目录下最大的指定个数的文件和图片

在我们平时的运维过程中,在查找、筛选、删除等操作是比较频繁的,当你的服务器老是被某个大型文件或者大型日志而占用空间的话,是很让人心烦的,不好找,还容易把业务扰乱,下面,我用python编写了一个小程序,供大家使用!

目录结构:

使用方法:1.创建目录:find_files

2.直接运行run.sh即可!

3.根据自己所需,选择模式

find_files.py(程序运行的主函数,封装完成的方法为find_specific_files())

import osimport fnmatchdef is_file_match(filename, patterns):for pattern in patterns:if fnmatch.fnmatch(filename, pattern):return Truereturn Falsedef find_specific_files(root, patterns=['*'], exclude_firs=[]):for root, dirnames, filenames in os.walk(root):for filename in filenames:if is_file_match(filename, patterns):yield os.path.join(root, filename)for d in exclude_firs:if d in dirnames:dirnames.remove(d)

files.py(程序输出调用主函数方法来实现行为,如果你会python,可以运用上面的find_specific_file()方法,自己在这个代码中写自己需要实现的东西)

import osfrom find_files import find_specific_filestitle = '===欢迎使用智能查找小程序===\n'\+ ' '*15 + '1.查找目录下所有的文件\n'\+ ' '*15 + '2.查找当前目录下最大的十个文件\n'\+ ' '*15 + '3.查找当前目录下所有的图片'print(title)def Path():title = '输入绝对路径:'In = []try:In = input(title)except (Exception, KeyboardInterrupt) as e:print('[ERROR]:操作失败!',e)return Indef files1():'''查找目录下的所有文件'''for item in find_specific_files(Path()):print(item)def files2():'''查找当前目录下最大的十个文件'''files = {name: os.path.getsize(name) for name in find_specific_files(Path())}result = sorted(files.items(), key=lambda d: d[1], reverse=True)[:10]for i, t in enumerate(result, 1):print(i, t[0], t[1])def images():'''查找目录下的所有图片'''patterns = ['*.jpg','*.jpeg','*.png','*.tif']for prcut in find_specific_files(Path(), patterns):print(prcut)try:Input = input('选择以上数字,请在此输入:')if Input == '1':files1()elif Input == '2':files2()elif Input == '3':images()else:print('[ERROR]:数字输入有误!')except KeyboardInterrupt:print('已退出!')

感谢使用!三连!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。