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的Twisted框架的核心特性
May 25 Python
Flask数据库迁移简单介绍
Oct 24 Python
解决python使用open打开文件中文乱码的问题
Dec 29 Python
python中的字符串内部换行方法
Jul 19 Python
使用python采集脚本之家电子书资源并自动下载到本地的实例脚本
Oct 23 Python
Python 3.x基于Xml数据的Http请求方法
Dec 28 Python
python通过配置文件共享全局变量的实例
Jan 11 Python
简单了解django缓存方式及配置
Jul 19 Python
在Python中使用MySQL--PyMySQL的基本使用方法
Nov 19 Python
Python3自定义http/https请求拦截mitmproxy脚本实例
May 11 Python
Python3爬虫中关于Ajax分析方法的总结
Jul 10 Python
Pygame框架实现飞机大战
Aug 07 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与javascript对多项选择的处理
2006/10/09 PHP
Apache+php+mysql在windows下的安装与配置图解(最新版)
2008/11/30 PHP
CI框架装载器Loader.php源码分析
2014/11/04 PHP
PHP常用的三种设计模式
2017/02/17 PHP
PHP如何读取由JavaScript设置的Cookie
2017/03/22 PHP
北京奥运官方网站幻灯切换效果flash版打包下载
2008/01/30 Javascript
一个JQuery写的点击上下滚动的小例子
2011/08/27 Javascript
深入探讨JavaScript、JQuery屏蔽网页鼠标右键菜单及禁止选择复制
2014/06/10 Javascript
javascript实现单击和双击并存的方法
2014/12/13 Javascript
JS取得绝对路径的实现代码
2015/01/16 Javascript
AngularJS学习笔记之基本指令(init、repeat)
2015/06/16 Javascript
几种经典排序算法的JS实现方法
2016/03/25 Javascript
html+js+highcharts绘制圆饼图表的简单实例
2016/08/04 Javascript
jQuery实现ajax的叠加和停止(终止ajax请求)
2016/08/08 Javascript
jquery网页日历显示控件calendar3.1使用详解
2016/11/24 Javascript
一篇看懂vuejs的状态管理神器 vuex状态管理模式
2017/04/20 Javascript
微信小程序实现的picker多级联动功能示例
2019/05/23 Javascript
微信小程序调用天气接口并且渲染在页面过程详解
2019/06/24 Javascript
vue 使用 canvas 实现手写电子签名
2020/03/06 Javascript
基于vue-simple-uploader封装文件分片上传、秒传及断点续传的全局上传插件功能
2021/02/23 Vue.js
[53:52]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python 3.x读写csv文件中数字的方法示例
2017/08/29 Python
用python实现百度翻译的示例代码
2018/03/09 Python
Python实现带下标索引的遍历操作示例
2019/05/30 Python
pytorch torchvision.ImageFolder的用法介绍
2020/02/20 Python
基于python模拟bfs和dfs代码实例
2020/11/19 Python
CSS3实现莲花绽放的动画效果
2020/11/06 HTML / CSS
浅谈HTML5 Web Worker的使用
2018/01/05 HTML / CSS
Spartoo芬兰:欧洲最大的网上鞋店
2016/08/28 全球购物
英国最受欢迎的价格比较网站之一:MoneySuperMarket
2018/12/19 全球购物
Java提供了哪些企业应用编程接口
2015/02/13 面试题
How to spawning asynchronous work in J2EE
2016/08/29 面试题
初一英语教学反思
2014/01/11 职场文书
澳大利亚商务邀请函
2014/01/17 职场文书
综合素质评价个性发展自我评价
2015/03/06 职场文书
PYTHON使用Matplotlib去实现各种条形图的绘制
2022/03/22 Python