遍历目录树中所有模式匹配的文件

来源:互联网 发布:人工智能会议 2017 编辑:程序博客网 时间:2024/06/06 07:42
import os, fnmatch
def all_files(root, patterns='*', single_level=False, yield_folders=False):    # Expand patterns from semicolon-separated string to list    patterns = patterns.split(';')    for path, subdirs, files in os.walk(root):        if yield_folders:            files.extend(subdirs)        files.sort()        for name in files:            for pattern in patterns:                if fnmatch.fnmatch(name, pattern):                    yield os.path.join(path, name)                    break        if single_level:            breakthefiles = list(all_files('/home/qiao', '*.py;*.htm;*.html'))#遍历/home/qiao目录下的所有.py, .htm, .html文件print thefiles

该程序遍历一个目录,包括该目录下所有的子目录。并且根据该模式迭代所有的文件。

该程序将 os.walk进行封装成我们自已的函数,功能更强大。

原创粉丝点击