Python实现扫描指定目录下的子目录及文件的方法


Posted in Python onJuly 16, 2014

本文介绍了使用Python来扫描指定目录下的文件,或者匹配指定后缀和前缀的函数。步骤如下:

如果要扫描指定目录下的文件,包括子目录,需要调用scan_files("/export/home/test/")

如果要扫描指定目录下的特定后缀的文件(比如jar包),包括子目录,调用scan_files("/export/home/test/", postfix=".jar")

如果要扫描指定目录下的特定前缀的文件(比如test_xxx.py),包括子目录,调用scan_files("/export/home/test/", postfix="test_")

具体实现代码如下:

#!/usr/bin/env python
#coding=utf-8
 
import os
 
def scan_files(directory,prefix=None,postfix=None):
  files_list=[]
   
  for root, sub_dirs, files in os.walk(directory):
    for special_file in files:
      if postfix:
        if special_file.endswith(postfix):
          files_list.append(os.path.join(root,special_file))
      elif prefix:
        if special_file.startswith(prefix):
          files_list.append(os.path.join(root,special_file))
      else:
        files_list.append(os.path.join(root,special_file))
              
  return files_list
Python 相关文章推荐
urllib2自定义opener详解
Feb 07 Python
Python比较文件夹比另一同名文件夹多出的文件并复制出来的方法
Mar 05 Python
使用python编写监听端
Apr 12 Python
Python检测网络延迟的代码
May 15 Python
Python中pandas dataframe删除一行或一列:drop函数详解
Jul 03 Python
Python简单爬虫导出CSV文件的实例讲解
Jul 06 Python
python删除字符串中指定字符的方法
Aug 13 Python
python使用scrapy发送post请求的坑
Sep 04 Python
python实现邮件发送功能
Aug 10 Python
python实现连连看游戏
Feb 14 Python
关于matplotlib-legend 位置属性 loc 使用说明
May 16 Python
使用opencv中匹配点对的坐标提取方式
Jun 04 Python
python re正则表达式模块(Regular Expression)
Jul 16 #Python
Web服务器框架 Tornado简介
Jul 16 #Python
高性能web服务器框架Tornado简单实现restful接口及开发实例
Jul 16 #Python
Django在Win7下的安装及创建项目hello word简明教程
Jul 14 #Python
python django集成cas验证系统
Jul 14 #Python
用python + hadoop streaming 分布式编程(一) -- 原理介绍,样例程序与本地调试
Jul 14 #Python
用python + openpyxl处理excel2007文档思路以及心得
Jul 14 #Python
You might like
PHP将MySQL的查询结果转换为数组并用where拼接的示例
2016/05/13 PHP
PHP微信开发之根据用户回复关键词\位置返回附近信息
2016/06/24 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
PHP实现随机发放扑克牌
2020/04/21 PHP
jQuery 解析xml文件
2009/08/09 Javascript
window.addEventListener来解决让一个js事件执行多个函数
2012/12/26 Javascript
JQuery页面图片切换和新闻列表滚动效果的具体实现
2013/09/26 Javascript
js中直接声明一个对象的方法
2014/08/10 Javascript
JavaScript 经典实例日常收集整理(常用经典)
2016/03/30 Javascript
nodejs搭建本地服务器并访问文件的方法
2017/03/03 NodeJs
webpack学习教程之publicPath路径问题详解
2017/06/17 Javascript
AngularJs每天学习之总体介绍
2017/08/07 Javascript
angular4中关于表单的校验示例
2017/10/16 Javascript
Vue2.0 实现单选互斥的方法
2018/04/13 Javascript
详解mpvue开发小程序小总结
2018/07/25 Javascript
Vue源码解析之数组变异的实现
2018/12/04 Javascript
Angular7创建项目、组件、服务以及服务的使用
2019/02/19 Javascript
在vue+element ui框架里实现lodash的debounce防抖
2019/11/13 Javascript
sharp.js安装过程中遇到的问题总结
2020/04/02 Javascript
vue2.0 解决抽取公用js的问题
2020/07/31 Javascript
Vue+scss白天和夜间模式切换功能的实现方法
2021/01/05 Vue.js
[02:47]DOTA2亚洲邀请赛 HR战队出场宣传片
2015/02/07 DOTA
[38:44]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第二局
2016/02/25 DOTA
[01:52]PWL S2开团时刻第四期——DOTA2成语故事
2020/12/03 DOTA
Python实现计算字符串中出现次数最多的字符示例
2019/01/21 Python
关于python之字典的嵌套,递归调用方法
2019/01/21 Python
Python学习笔记之pandas索引列、过滤、分组、求和功能示例
2019/06/03 Python
Mac PyCharm中的.gitignore 安装设置教程
2020/04/16 Python
让IE支持HTML5的方法
2012/12/11 HTML / CSS
美国电子产品折扣网站:Daily Steals
2017/05/20 全球购物
教师岗位职责范本
2015/04/02 职场文书
公司年会开场白
2015/06/01 职场文书
2016幼儿园新学期寄语
2015/12/03 职场文书
如何解决springcloud feign 首次调用100%失败的问题
2021/06/23 Java/Android
JS数组方法some、every和find的使用详情
2021/10/05 Javascript
「海贼王」112.9万粉丝纪念图标公布
2022/03/21 日漫