python实现在目录中查找指定文件的方法


Posted in Python onNovember 11, 2014

本文实例讲述了python实现在目录中查找指定文件的方法。分享给大家供大家参考。具体实现方法如下:

1. 模糊查找

import os

from glob import glob #用到了这个模块

def search_file(pattern, search_path=os.environ['PATH'], pathsep=os.pathsep):

    for path in search_path.split(os.pathsep):

        for match in glob(os.path.join(path, pattern)):

            yield match

if __name__ == '__main__':

    import sys

    if len(sys.argv)<2  or sys.argv[1].startswith('-'):#sys.argv[0]是当前路径,1开始是后面的参数

        print 'Use: %s <pattern>' % sys.argv[0]

        sys.exit(1)

    if len(sys.argv)>2:

        matchs = list(search_file(sys.argv[1],sys.argv[2]))

    else:

        matchs = list(search_file(sys.argv[1]))

    print '%d match' % len(matchs)

    for match in matchs:

        print match

2. 指定的文件名精确查找
import os,optparse

#1:精确查找

def search_file(filename, search_path=os.environ['PATH'], pathsep=os.pathsep):#os.pathsep是分隔符';'

    for path in search_path.split(os.pathsep):

        candidate = os.path.join(path, filename)#预选路径

        if os.path.isfile(candidate):

            yield os.path.abspath(candidate) #用生成器可以方便控制返回的数据.可以使用.next()等方法只返回下一个子项

def parse_args():#帮助提示

    usage = u'''这是一个查找文件夹路径中是否有文件指定文件的脚本,

第一个参数是要找的文件名,第二个是路径'''

    parser = optparse.OptionParser(usage)

    help = u'要查找的文件名字'

    parser.add_option('--filename', help=help)#type='int',

    help = u'查找的路径多个路径以;分隔'

    parser.add_option('--path', help=help, default='e:')

    options, args = parser.parse_args()

    return options, args

if __name__ == '__main__':

    options, args = parse_args()

    find_file = list(search_file(args[0], args[1]))

    if find_file:

        for file in find_file:

            print "Found File at %s" % file

    else:

        print "Not Found"

 
例子:在e:/py和e:/phpwww目录下找以a到d开头的.php的文件
E:py>python_cook [a-d]*.php e:/py;e:/phpwww
2 match
e:/phpwwwcurl.php
e:/phpwwwduoxiancheng.php

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
深入解析Python中的上下文管理器
Jun 28 Python
ansible作为python模块库使用的方法实例
Jan 17 Python
Python只用40行代码编写的计算器实例
May 10 Python
python 创建弹出式菜单的实现代码
Jul 11 Python
Python基于高斯消元法计算线性方程组示例
Jan 17 Python
用Python将mysql数据导出成json的方法
Aug 21 Python
Python替换月份为英文缩写的实现方法
Jul 15 Python
python循环输出三角形图案的例子
Nov 22 Python
Python爬虫程序架构和运行流程原理解析
Mar 09 Python
Python selenium使用autoIT上传附件过程详解
May 26 Python
Python Spyder 调出缩进对齐线的操作
Feb 26 Python
python图像处理 PIL Image操作实例
Apr 09 Python
Python实现list反转实例汇总
Nov 11 #Python
用python实现面向对像的ASP程序实例
Nov 10 #Python
python求列表交集的方法汇总
Nov 10 #Python
python实现删除文件与目录的方法
Nov 10 #Python
Python装饰器decorator用法实例
Nov 10 #Python
python中list循环语句用法实例
Nov 10 #Python
python中MySQLdb模块用法实例
Nov 10 #Python
You might like
绿山咖啡和蓝山咖啡
2021/03/04 新手入门
php读取目录所有文件信息dir示例
2014/03/18 PHP
php中strtotime函数用法详解
2014/11/15 PHP
PHP如何实现Unicode和Utf-8编码相互转换
2015/07/29 PHP
全新Mac配置PHP开发环境教程
2016/02/03 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
js 蒙版进度条(结合图片)
2010/03/10 Javascript
IE6 fixed的完美解决方案
2011/03/31 Javascript
JavaScript获取当前cpu使用率的方法
2015/12/15 Javascript
javascript+HTML5 Canvas绘制转盘抽奖
2020/05/16 Javascript
js通过classname来获取元素的方法
2016/11/24 Javascript
Vue项目部署的实现(阿里云+Nginx代理+PM2)
2019/03/26 Javascript
bootstrap tooltips在 angularJS中的使用方法
2019/04/10 Javascript
JavaScript实现的开关灯泡点击切换特效示例
2019/07/08 Javascript
Paypal支付不完全指北
2020/06/04 Javascript
Python中urllib+urllib2+cookielib模块编写爬虫实战
2016/01/20 Python
Python常见工厂函数用法示例
2018/03/21 Python
python实现按长宽比缩放图片
2018/06/07 Python
python实现ID3决策树算法
2018/08/29 Python
Flask框架实现的前端RSA加密与后端Python解密功能详解
2019/08/13 Python
关于python字符串方法分类详解
2019/08/20 Python
Django REST framework 单元测试实例解析
2019/11/07 Python
CSS3制作精致的照片墙特效
2016/06/07 HTML / CSS
StubHub西班牙:购买和出售全球活动门票
2017/06/05 全球购物
绘儿乐产品官方在线商店:Crayola.com
2019/09/07 全球购物
最新会计专业求职信范文
2014/01/28 职场文书
会计电算化大学生职业规划书
2014/02/05 职场文书
统计岗位职责
2014/02/21 职场文书
人力资源部经理的岗位职责
2014/03/04 职场文书
出纳员岗位职责
2014/03/13 职场文书
教师党员岗位承诺书
2014/05/29 职场文书
推普周国旗下讲话稿
2014/09/21 职场文书
2014年小学辅导员工作总结
2014/12/23 职场文书
应届毕业生求职信范文
2015/03/19 职场文书
2015高中教师个人工作总结
2015/07/21 职场文书
详解JavaScript的计时器和按钮效果设置
2022/02/18 Javascript