码迷,mamicode.com
首页 > 编程语言 > 详细

python walk历遍目录

时间:2017-12-27 15:38:05      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:最大   tiff   文件大小   div   os.walk   port   enumerate   res   lam   

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历遍目录

标签:最大   tiff   文件大小   div   os.walk   port   enumerate   res   lam   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!