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中暂存上传图片的方法
Feb 18 Python
高效测试用例组织算法pairwise之Python实现方法
Jul 19 Python
基于python(urlparse)模板的使用方法总结
Oct 13 Python
Python常用爬虫代码总结方便查询
Feb 25 Python
详解Python中is和==的区别
Mar 21 Python
详解Python给照片换底色(蓝底换红底)
Mar 22 Python
Python基本数据结构之字典类型dict用法分析
Jun 08 Python
Pycharm远程调试原理及具体配置详解
Aug 08 Python
简单了解python中的与或非运算
Sep 18 Python
keras 获取某层输出 获取复用层的多次输出实例
May 23 Python
django序列化时使用外键的真实值操作
Jul 15 Python
Python如何利用Har文件进行遍历指定字典替换提交的数据详解
Nov 05 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
建立动态的WML站点(一)
2006/10/09 PHP
深入探讨PHP中的内存管理问题
2011/08/31 PHP
关于URL最大长度限制的相关资料查证
2014/12/23 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
2018/02/19 PHP
PHP7新功能总结
2019/04/14 PHP
js function定义函数使用心得
2010/04/15 Javascript
jquery实现省市select下拉框的替换(示例代码)
2014/02/22 Javascript
javascript获取当前的时间戳的方法汇总
2015/07/26 Javascript
javascript实现的淘宝旅行通用日历组件用法实例
2015/08/03 Javascript
js获取及判断键盘按键的方法
2015/12/01 Javascript
BootStrap初学者对弹出框和进度条的使用感觉
2016/06/27 Javascript
详解webpack es6 to es5支持配置
2017/05/04 Javascript
关于Bootstrap按钮组件消除黄框的方法
2017/05/19 Javascript
JavaScript实现QQ列表展开收缩扩展功能
2017/10/30 Javascript
用React-Native+Mobx做一个迷你水果商城APP(附源码)
2017/12/25 Javascript
vue通过点击事件读取音频文件的方法
2018/05/30 Javascript
JavaScript高级函数应用之分时函数实例分析
2018/08/03 Javascript
JS实现鼠标按下拖拽效果
2020/07/23 Javascript
[00:12]DAC2018 Miracle-站上中单舞台,他能否再写奇迹?
2018/04/06 DOTA
浅析Python中signal包的使用
2015/11/13 Python
pyecharts绘制中国2020肺炎疫情地图的实例代码
2020/02/12 Python
Python使用requests xpath 并开启多线程爬取西刺代理ip实例
2020/03/06 Python
Selenium alert 弹窗处理的示例代码
2020/08/06 Python
如何实现一个python函数装饰器(Decorator)
2020/10/12 Python
python图片合成的示例
2020/11/09 Python
Linux上比较文件的命令都有哪些
2012/02/24 面试题
JavaScript实现页面动态验证码的实现示例
2021/03/23 Javascript
奥巴马开学演讲稿
2014/05/15 职场文书
关于安全的标语
2014/06/10 职场文书
学校学习雷锋活动总结
2014/07/03 职场文书
2014年纪检部工作总结
2014/11/12 职场文书
部队个人年终总结
2015/03/02 职场文书
淘宝文案策划岗位职责
2015/04/14 职场文书
2015年惩防体系建设工作总结
2015/05/22 职场文书
销售人员管理制度
2015/08/06 职场文书
小学数学新课改心得体会
2016/01/22 职场文书