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解析xml中dom元素的方法
Mar 12 Python
解决python3 urllib 链接中有中文的问题
Jul 16 Python
python pygame实现方向键控制小球
May 17 Python
解决Django 在ForeignKey中出现 non-nullable field错误的问题
Aug 06 Python
使用OpCode绕过Python沙箱的方法详解
Sep 03 Python
Python整数与Numpy数据溢出问题解决
Sep 11 Python
pytorch .detach() .detach_() 和 .data用于切断反向传播的实现
Dec 27 Python
python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例
Mar 06 Python
Mac PyCharm中的.gitignore 安装设置教程
Apr 16 Python
python3检查字典传入函数键是否齐全的实例
Jun 05 Python
python里glob模块知识点总结
Jan 05 Python
20行代码教你用python给证件照换底色的方法示例
Feb 05 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与SQL注入攻击[三]
2007/04/17 PHP
thinkphp中html:list标签传递多个参数实例
2014/10/30 PHP
ThinkPHP实现支付宝接口功能实例
2014/12/02 PHP
php上传图片并压缩的实现方法
2015/12/22 PHP
使用PHP json_decode可能遇到的坑与解决方法
2017/08/03 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
Prototype使用指南之hash.js
2007/01/10 Javascript
dropdownlist之间的互相联动实现(显示与隐藏)
2009/11/24 Javascript
基于jQuery的一个扩展form序列化到json对象
2010/12/09 Javascript
js中eval()函数和trim()去掉字符串左右空格应用
2013/02/02 Javascript
Jquery操作radio的简单实例
2014/01/06 Javascript
jQuery 动态云标签插件
2014/11/11 Javascript
使用getBoundingClientRect方法实现简洁的sticky组件的方法
2016/03/22 Javascript
无需 Flash 使用 jQuery 复制文字到剪贴板
2016/04/26 Javascript
基于jQuery实现仿QQ空间送礼物功能代码
2016/05/24 Javascript
vue实现todolist单页面应用
2017/04/11 Javascript
详解Vue开发微信H5微信分享签名失败问题解决方案
2018/08/09 Javascript
微信小程序调用微信支付接口的实现方法
2019/04/29 Javascript
浅谈layui数据表格判断问题(加入表单元素),设置单元格样式
2019/10/26 Javascript
node.js开发辅助工具nodemon安装与配置详解
2020/02/06 Javascript
[57:22]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第五场
2018/04/10 DOTA
给Python入门者的一些编程建议
2015/06/15 Python
Python基于生成器迭代实现的八皇后问题示例
2018/05/23 Python
Python实现App自动签到领取积分功能
2018/09/29 Python
使用GitHub和Python实现持续部署的方法
2019/05/09 Python
深入浅析Python中的迭代器
2019/06/04 Python
python SQLAlchemy的Mapping与Declarative详解
2019/07/04 Python
Python 控制终端输出文字的实例
2019/07/12 Python
手对手的教你用canvas画一个简单的海报的方法示例
2018/12/10 HTML / CSS
什么是Oracle的后台进程background processes?都有哪些后台进程?
2012/04/26 面试题
如何手工释放资源
2013/12/15 面试题
关于保护环境的标语
2014/06/09 职场文书
2015年保洁员工作总结
2015/05/04 职场文书
JavaScript实现简单图片切换
2021/04/29 Javascript
Java实现聊天机器人完善版
2021/07/04 Java/Android
nginx负载功能+nfs服务器功能解析
2022/02/28 Servers