Python ---- 找出'/mnt'目录下最大(最早)的十个文件
今天看了一下Python自动化的书,里边儿有个这个需求,尝试做了一下,感觉还凑合= =,记录一下我的Python自动化学习过程;
先定义一个通用函数,可被循环;(其实上一篇博客里就有)
#!/usr/bin/python3 import os, fnmatch def is_file_match(filename,patterns): for pattern in patterns: if fnmatch.fnmatch(filename, pattern): return True return False def find_specific_files(root,patterns=['*'],exclude_dirs=[]): for root,dirnames,filenames in os.walk(root): for filename in filenames: if is_file_match(filename, patterns): yield os.path.join() for d in exclude_dirs: if d in dirnames: dirname.remove(d)
就可以使用ipython啦或者再写一个文件来解决:
import file,os def big_file(): big = {} for name in file.find_specific_files('/mnt'): big[name] = os.path.getsize(name) big = sorted(big.items(),key=lambda x:x[1],reverse=True)[:10] for i, t in enumerate(big, 1): print(i, t[0], t[1]) def old_file(): old = {} for name in file.find_specific_files('/mnt'): old[name] = os.path.getmtime(name) old = sorted(old.items(),key=lambda x:x[1],reverse=True)[:10] for i, t in enumerate(old, 1): print(i, t[0], t[1]) big_file() old_file()
以下是运行结果
本文作者:k-free
本文链接:https://www.cnblogs.com/k-free-bolg/p/12883845.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步