涉及到的模块有os, fnmatch:1、通过os模块中的方法获取dir、subdir、files,通过os.path.join可拼接成完整路径;

                2、fnmatch主要通过fnmatch.fnmatch(name, patterns),在patterns中匹配name元素,用于获取特定后缀的文件。

  可将这一功能代码封装,以便后续调用:

  

 #!/usr/bin/env python
import os, fnmatch def all_files(root, patterns='*', single_level=False, yield_folders=False):
#将模式从字符串中取出放入列表中
patterns = patterns.split(';') #可以指定多个后缀作为需要获取的文件类型,通过';'作为分隔符
for path, subdir, files in os.walk(root):
if yield_folders :
files.extend(subdir)
files.sort()
for name in files:
for pattern in patterns:
if fnmatch.fnmatch(name, patterns):
yield os.path.join(path, name)
break
if single_level:
break:

为了验证最终结果,(注意,最终结果是可迭代的),所以本人具体实例验证如下:

  

 for path in all_files('/usr/local/test', pattern='*.py'):
print path

  

  与大家共勉!

python 之遍历目录树(可匹配输出特定后缀的文件)的更多相关文章

  1. 遍历目录树 - Unicode 模式

    =info     遍历目录树 支持 Unicode     Code by 523066680@163.com     2017-03         V0.5 使用Win32API判断目录硬链接 ...

  2. 可编译为 UNICODE 和 ANSI 版本的遍历目录树程序_0.1

    路径暂时是写死的 编译两个版本的程序: g++  treeT.cpp -municode -D_UNICODE -o treeT_UNIg++  treeT.cpp -o treeT_ASC 为了观察 ...

  3. java 提取(解压)zip文件中特定后缀的文件并保存到指定目录

    内容简介 本文主要介绍使用ZipFile来提取zip压缩文件中特定后缀(如:png,jpg)的文件并保存到指定目录下. 导入包:import java.util.zip.ZipFile; 如需添加对r ...

  4. java 提取(解压)rar文件中特定后缀的文件并保存到指定目录

    内容简介 本文主要介绍使用junrar来提取rar压缩文件中特定后缀(如:png,jpg)的文件并保存到指定目录下. 支持v4及以下版本压缩文件,不支持v5及以上. 在rar文件上右键,查看属性,在压 ...

  5. Python递归遍历目录下所有文件

    #自定义函数: import ospath="D:\\Temp_del\\a"def gci (path): """this is a stateme ...

  6. Python,遍历目录下TXT

    import os #获取根目录,递归得到所以txt文件的路径 list_dirs = os.walk(os.curdir) txtfilenames=[] for root, dirs, files ...

  7. 用Python删除本地目录下某一时间点之前创建的文件

    参考http://www.cnblogs.com/iderek/p/8035757.html os.listdir(dirname):列出dirname下的目录和文件 os.getcwd():获得当前 ...

  8. java利用SuffixFileFilter统计目录下特定后缀名文件的数目

    /** * 文件处理类 * @author zhangcd * @date 2017年1月3日 */ public class FileUtil { /** * 得到所有后缀的数目 * * @para ...

  9. LINUX小技巧,如何在指定目录下搜索到含特定关键字的文件。

    先找出文件,然后将文件作为输入,找具体关键字 find /etc -name "*" | xargs grep "Hello"

随机推荐

  1. Linux目录树详细说明

    Linux目录树详细说明 目录树的主要部分有root(/)./USR./var./home等等.下面是一个典型的linux目录结构如下: / 根目录 /bin 存放必要的命令 /boot 存放内核以及 ...

  2. Oracle随机获取记录

    , )) RANDOMNUM FROM DUAL) B ORDER BY B.RANDOMNUM

  3. web form中自定义HttpHandler仿mvc

    web form中自定义HttpHandler仿mvc 前言 在mvc大行其道的今天,仍然有不少公司的项目还是使用web form来实现的(其实mvc也是基于web form的),如果要在项目中引入m ...

  4. Struts2.1.8 + Spring3.0+ Hibernate3.2整合笔记

    body, p, th, td, li, ul, ol, h1, h2, h3, h4, h5, h6, pre { font-family: simsun; line-height: 1.4; } ...

  5. 配置 SQL Server Email 发送以及 Job 的 Notification通知功能

    配置 SQL Server Email 发送以及 Job 的 Notification通知功能 在与数据库相关的项目中, 比如像数据库维护, 性能警报, 程序出错警报或通知都会使用到在 SQL Ser ...

  6. 构建一个真实的应用电子商务SportsStore(十一)

    构建一个真实的应用电子商务SportsStore(十一) 我们的项目已经进入了非常好的良性循环,项目中涵盖了多数现在的主流开源框架的使用.就Ninject而言,我们的运用是非常的成功,没有任何一点多余 ...

  7. net软件工程师求职简历

    Net软件工程师求职简历 姓    名: 王静静 性    别: 女 出生日期: 1991-12 籍    贯: 河北 居住地: 北京 学    历: 专科 E-mail: 335659753@qq. ...

  8. computer专业术语总结

    计算机专业真可谓是博大精深,光语言就有N多种,而且各种算法计数,各个领域,加之新技术的不断出现, 如果想要穷尽 计算机的知识,那绝对是不那个可能的,只能在若干领域才能取得一定的成果,但是多了解一些专业 ...

  9. 权限开发 spring security 3.0.7 序列1 数据库脚本

    spring  security  3 细粒度权限控制第一篇,关于权限的初始化测试数据库脚本. 空间脚本: drop user FrameworkTest cascade; drop tablespa ...

  10. 关于在freemarker模板中遍历数据模型List<JavaBean>的经验

    本文采用简单的servlet作为后台处理数据的工具,前台使用freemarker的ftl模板作为输出工具,简单说明怎样将封装有实体类对象的List集合注入到ftl模板中并且成功的在遍历显示出来,之前在 ...