python walk历遍目录

Posted 一米八大高个儿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python walk历遍目录相关的知识,希望对你有一定的参考价值。

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历遍目录的主要内容,如果未能解决你的问题,请参考以下文章

os.walk 和os.path.walk的区别

python os.walk()代码详解

python使用简单的os.walk生成目录树

Python os.walk() 方法遍历文件目录

python笔记4-遍历文件夹目录os.walk()

如何用Python os.path.walk方法遍历搜索文件内容的操作详解