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访问抓取网页常用命令总结
Apr 11 Python
python2.7实现FTP文件下载功能
Apr 15 Python
python实现QQ空间自动点赞功能
Apr 09 Python
pyinstaller打包单个exe后无法执行错误的解决方法
Jun 21 Python
PYQT5实现控制台显示功能的方法
Jun 25 Python
python 使用pygame工具包实现贪吃蛇游戏(多彩版)
Oct 30 Python
python实现打砖块游戏
Feb 25 Python
python db类用法说明
Jul 07 Python
python实现自动清理重复文件
Aug 24 Python
python+selenium自动化实战携带cookies模拟登陆微博
Jan 19 Python
python opencv通过按键采集图片源码
May 20 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目录管理函数小结
2008/09/10 PHP
PHP将Excel导入数据库及数据库数据导出至Excel的方法
2015/06/24 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
laravel异步监控定时调度器实例详解
2019/06/21 PHP
PHP实现长轮询消息实时推送功能代码实例讲解
2021/02/26 PHP
JS重要知识点小结
2011/11/06 Javascript
js播放wav文件(源码)
2013/04/22 Javascript
IE8对JS通过属性和数组遍历解析不一样的地方探讨
2013/05/06 Javascript
js 日期比较相关天数代码
2014/04/02 Javascript
jquery插件NProgress.js制作网页加载进度条
2015/06/05 Javascript
JS自定义选项卡函数及用法实例分析
2015/09/02 Javascript
深入理解requestAnimationFrame的动画循环
2016/09/20 Javascript
浅谈javascript alert和confirm的美化
2016/12/15 Javascript
Vue实现双向绑定的原理以及响应式数据的方法
2018/07/02 Javascript
详解vue中组件参数
2018/07/09 Javascript
详解vue-cli@2.x项目迁移日志
2019/06/06 Javascript
详解ES6 Promise的生命周期和创建
2019/08/18 Javascript
JavaScript闭包原理与用法学习笔记
2020/05/29 Javascript
Vue 实现v-for循环的时候更改 class的样式名称
2020/07/17 Javascript
[01:06]DOTA2隆重推出2016冬季勇士令状 内含上海特级锦标赛互动指南
2016/02/17 DOTA
[01:02:48]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 LGD vs OG
2018/04/02 DOTA
使用Python3中的gettext模块翻译Python源码以支持多语言
2015/03/31 Python
详解python中requirements.txt的一切
2017/03/03 Python
Python实现的简单计算器功能详解
2018/08/25 Python
python2和python3在处理字符串上的区别详解
2019/05/29 Python
django url到views参数传递的实例
2019/07/19 Python
对python中的os.getpid()和os.fork()函数详解
2019/08/08 Python
python opencv调用笔记本摄像头
2019/08/28 Python
python except异常处理之后不退出,解决异常继续执行的实现
2020/04/25 Python
No module named ‘win32gui‘ 的解决方法(踩坑之旅)
2021/02/18 Python
优秀工会工作者事迹材料
2014/06/02 职场文书
四风问题自我剖析材料
2014/10/07 职场文书
个人批评与自我批评材料
2014/10/17 职场文书
离婚协议书范文2014(夫妻感情破裂)
2014/12/14 职场文书
SQLServer中JSON文档型数据的查询问题解决
2021/06/27 SQL Server
用Python仅20行代码编写一个简单的端口扫描器
2022/04/08 Python