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 相关文章推荐
python和shell实现的校验IP地址合法性脚本分享
Oct 23 Python
使用python开发vim插件及心得分享
Nov 04 Python
Python实现竖排打印传单手机号码易撕条
Mar 16 Python
Python内置函数dir详解
Apr 14 Python
Python中基础的socket编程实战攻略
Jun 01 Python
Python字典及字典基本操作方法详解
Jan 30 Python
python实现微信小程序自动回复
Sep 10 Python
Python 动态导入对象,importlib.import_module()的使用方法
Aug 28 Python
python实现简单颜色识别程序
Feb 19 Python
Python异常继承关系和自定义异常实现代码实例
Feb 20 Python
Python嵌入C/C++进行开发详解
Jun 09 Python
python推导式的使用方法实例
Feb 28 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新手上路(十一)
2006/10/09 PHP
gd库图片下载类实现下载网页所有图片的php代码
2012/08/20 PHP
实现PHP框架系列文章(6)mysql数据库方法
2016/03/04 PHP
总结PHP中初始化空数组的最佳方法
2019/02/13 PHP
在b/s开发中经常用到的javaScript技术
2006/08/23 Javascript
window.js 主要包含了页面的一些操作
2009/12/23 Javascript
用javascript为页面添加天气显示实现思路及代码
2013/12/02 Javascript
JavaScript分页功能的实现方法
2015/04/25 Javascript
使用开源工具制作网页验证码的方法
2016/10/17 Javascript
jQuery 遍历map()方法详解
2016/11/04 Javascript
Js经典案例的实例代码
2018/05/10 Javascript
小程序卡片切换效果组件wxCardSwiper的实现
2020/02/13 Javascript
vue vant中picker组件的使用
2020/11/03 Javascript
[01:14:34]DOTA2上海特级锦标赛C组资格赛#2 LGD VS Newbee第一局
2016/02/28 DOTA
Python 读写文件和file对象的方法(推荐)
2016/09/12 Python
python使用turtle绘制分形树
2018/06/22 Python
Python切片操作深入详解
2018/07/27 Python
利用Pandas和Numpy按时间戳将数据以Groupby方式分组
2019/07/22 Python
window7下的python2.7版本和python3.5版本的opencv-python安装过程
2019/10/24 Python
python实时监控logstash日志代码
2020/04/27 Python
pymysql之cur.fetchall() 和cur.fetchone()用法详解
2020/05/15 Python
Win10下用Anaconda安装TensorFlow(图文教程)
2020/06/18 Python
New Era英国官网:美国棒球帽品牌
2018/03/21 全球购物
泰国排名第一的家居用品中心:HomePro
2020/11/18 全球购物
简述synchronized和java.util.concurrent.locks.Lock的异同
2014/12/08 面试题
C语言开发工程师测试题
2016/12/20 面试题
材料加工硕士生求职信
2013/10/10 职场文书
大学自主招生自荐信范文
2014/02/26 职场文书
工会工作先进事迹
2014/08/18 职场文书
学雷锋志愿者活动方案
2014/08/21 职场文书
党员干部形式主义个人整改措施
2014/09/17 职场文书
医学专业大学生职业生涯规划书
2014/10/25 职场文书
数学考试作弊检讨书300字
2015/02/16 职场文书
电话营销开场白
2015/05/29 职场文书
vue基于Teleport实现Modal组件
2021/05/31 Vue.js
Go语言编译原理之源码调试
2022/08/05 Golang