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实现的简单文本类游戏实例
Apr 28 Python
Python Paramiko模块的安装与使用详解
Nov 18 Python
Python实现基于KNN算法的笔迹识别功能详解
Jul 09 Python
Python单向链表和双向链表原理与用法实例详解
Aug 31 Python
解决python 无法加载downsample模型的问题
Oct 25 Python
Python对HTML转义字符进行反转义的实现方法
Apr 28 Python
24式加速你的Python(小结)
Jun 13 Python
python十进制转二进制的详解
Feb 07 Python
python如何把字符串类型list转换成list
Feb 18 Python
Anaconda+Pycharm环境下的PyTorch配置方法
Mar 13 Python
win7上tensorflow2.2.0安装成功 引用DLL load failed时找不到指定模块 tensorflow has no attribute xxx 解决方法
May 20 Python
在Python3.74+PyCharm2020.1 x64中安装使用Kivy的详细教程
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 simplexmlElement操作xml的命名空间实现代码
2011/01/04 PHP
探讨PHP函数ip2long转换IP时数值太大产生负数的解决方法
2013/06/06 PHP
yii插入数据库防并发的简单代码
2017/05/27 PHP
PDO::setAttribute讲解
2019/01/29 PHP
jquery异步请求实例代码
2011/06/21 Javascript
javascript获取网页中指定节点的父节点、子节点的方法小结
2013/04/24 Javascript
jQuery Masonry瀑布流插件使用详解
2014/11/17 Javascript
jQuery插件multiScroll实现全屏鼠标滚动切换页面特效
2015/04/12 Javascript
jquery插件orbit.js实现图片折叠轮换特效
2015/04/14 Javascript
在AngularJS应用中实现一些动画效果的代码
2015/06/18 Javascript
JS经典正则表达式笔试题汇总
2016/12/15 Javascript
微信小程序 欢迎页面的制作(源码下载)
2017/01/09 Javascript
利用HTML5+Socket.io实现摇一摇控制PC端歌曲切换
2017/01/13 Javascript
Vue2.0 多 Tab切换组件的封装实例
2017/07/28 Javascript
如何基于jQuery实现五角星评分
2020/09/02 jQuery
[15:09]DOTA2国际邀请赛采访专栏:Loda
2013/08/06 DOTA
[53:36]Liquid vs VP Supermajor决赛 BO 第三场 6.10
2018/07/05 DOTA
探究Python的Tornado框架对子域名和泛域名的支持
2015/05/02 Python
Python文件去除注释的方法
2015/05/25 Python
python爬虫 使用真实浏览器打开网页的两种方法总结
2018/04/21 Python
Python结合ImageMagick实现多张图片合并为一个pdf文件的方法
2018/04/24 Python
对python 操作solr索引数据的实例详解
2018/12/07 Python
Python进程间通信Queue消息队列用法分析
2019/05/22 Python
python实现人机五子棋
2020/03/25 Python
基于Python的身份证验证识别和数据处理详解
2020/11/14 Python
让你相见恨晚的十个Python骚操作
2020/11/18 Python
使用HTML和CSS3绘制基本卡通图案的示例分享
2015/11/06 HTML / CSS
屈臣氏越南官网:Watsons越南
2021/01/14 全球购物
奥巴马获胜演讲稿
2014/05/15 职场文书
交通安全标语
2014/06/06 职场文书
幸福来敲门观后感
2015/06/04 职场文书
结婚幸福感言
2015/08/01 职场文书
Python中zipfile压缩包模块的使用
2021/05/14 Python
Python re.sub 反向引用的实现
2021/07/07 Python
JS创建或填充任意长度数组的小技巧汇总
2021/10/24 Javascript
Spring Boot 底层原理基础深度解析
2022/04/03 Java/Android