首页 > 编程语言 > 详细

python walk历遍目录

时间:2017-12-27 15:04:47      阅读:296      评论:0      收藏:0      [点我收藏+]
import os
import 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_dir=[]):
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_dir:
if d in dirnames:
dirnames.remove(d)

#查找目录下所有文件
for item in find_specific_files(‘.‘)
print(item)

#查找目录下所有图片
patterns = [‘*.jpg‘,‘*.jpeg‘,‘*.png‘,‘*.tif‘,‘*.tiff‘]
for item in find_specific_files(‘.‘,patterns)
print(item)

#查找目录树中,除dir2目录以为其他目录下的所有图片
patterns1 = [‘*.jpg‘,‘*.jpeg‘,‘*.png‘,‘*.tif‘,‘*.tiff‘]
exclude_dirs = [‘dir2‘]
for item in find_specific_files(‘.‘,patterns1,exclude_dirs):
print(item)

#查找目录下最大的十个文件,find_specific_files已经能找到某个目录下的所有文件,只要获取文件大小并按大小排序,输出最大的十个文件即可
files = {name:os.path.getsize(name) for name in find_specific_files(‘.‘)}
result = sorted(files.items(),key=lambda d:d[1],reverse=True)[:10]
for i in enumerate(result,1):
print(i,t[0],t[1])

python walk历遍目录

原文:https://www.cnblogs.com/qinghe123/p/8125628.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!