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登录QQ邮箱发信的实现代码
Feb 10 Python
Django中更新多个对象数据与删除对象的方法
Jul 17 Python
Python3多进程 multiprocessing 模块实例详解
Jun 11 Python
Python爬虫框架scrapy实现的文件下载功能示例
Aug 04 Python
pyqt5中QThread在使用时出现重复emit的实例
Jun 21 Python
解决python tkinter界面卡死的问题
Jul 17 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
Jan 14 Python
解决Python发送Http请求时,中文乱码的问题
Apr 30 Python
Python 读取位于包中的数据文件
Aug 07 Python
使用bandit对目标python代码进行安全函数扫描的案例分析
Jan 27 Python
tensorflow2.0教程之Keras快速入门
Feb 20 Python
Python批量将csv文件转化成xml文件的实例
May 10 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
phpphp图片采集后按原路径保存图片示例
2014/02/18 PHP
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)
2014/11/08 PHP
Laravel框架使用Redis的方法详解
2018/05/30 PHP
js内存泄露的几种情况详细探讨
2013/05/31 Javascript
javascript实现左右控制无缝滚动
2014/12/31 Javascript
jQuery实现当前页面标签高亮显示的方法
2015/03/10 Javascript
JavaScript编写连连看小游戏
2015/07/07 Javascript
JQuery标签页效果实例详解
2015/12/24 Javascript
jQuery获得字体颜色16位码的方法
2016/02/20 Javascript
详解AngularJS过滤器的使用
2016/03/11 Javascript
第六篇Bootstrap表格样式介绍
2016/06/21 Javascript
如何判断出一个js对象是否一个dom对象
2016/11/24 Javascript
echarts3 使用总结(绘制各种图表,地图)
2017/01/05 Javascript
mac中利用NVM管理不同node版本的方法详解
2017/11/08 Javascript
ES6入门教程之let、const的使用方法
2019/04/13 Javascript
vue实现简单图片上传
2020/06/30 Javascript
vue-video-player实现实时视频播放方式(监控设备-rtmp流)
2020/08/10 Javascript
vue 解决IOS10低版本白屏的问题
2020/11/17 Javascript
Python中运算符"=="和"is"的详解
2016/10/08 Python
Python常用库推荐
2016/12/04 Python
python 3.5下xadmin的使用及修复源码bug
2017/05/10 Python
Python程序员面试题 你必须提前准备!
2018/01/16 Python
python 顺时针打印矩阵的超简洁代码
2018/11/14 Python
一篇文章彻底搞懂Python中可迭代(Iterable)、迭代器(Iterator)与生成器(Generator)的概念
2019/05/13 Python
Django自定义模板过滤器和标签的实现方法
2019/08/21 Python
Django操作session 的方法
2020/03/09 Python
python爬虫开发之Request模块从安装到详细使用方法与实例全解
2020/03/09 Python
pandas使用之宽表变窄表的实现
2020/04/12 Python
python des,aes,rsa加解密的实现
2021/01/16 Python
美国著名的婴儿学步鞋老品牌:Robeez
2016/08/20 全球购物
美国存储和组织商店:The Container Store
2017/08/16 全球购物
约瑟夫·特纳男装:Joseph Turner
2017/10/10 全球购物
COSETTE官网:奢华,每天
2020/03/22 全球购物
销售人员个人求职信
2013/09/26 职场文书
大学生求职自荐信
2013/12/12 职场文书
2015年度对口支援工作总结
2015/07/22 职场文书