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链接Oracle数据库的方法
Jun 28 Python
Python画图学习入门教程
Jul 01 Python
对python-3-print重定向输出的几种方法总结
May 11 Python
python梯度下降法的简单示例
Aug 31 Python
初探利用Python进行图文识别(OCR)
Feb 26 Python
如何用Python破解wifi密码过程详解
Jul 12 Python
Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式
Jan 10 Python
Python3.x+迅雷x 自动下载高分电影的实现方法
Jan 12 Python
使用PyQt的QLabel组件实现选定目标框功能的方法示例
May 19 Python
PIP和conda 更换国内安装源的方法步骤
Sep 21 Python
python爬虫请求库httpx和parsel解析库的使用测评
May 10 Python
python实现简单的井字棋
May 26 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
改变Apache端口等配置修改方法
2008/06/05 PHP
PHP setTime 设置当前时间的代码
2012/08/27 PHP
如何使用Strace调试工具
2013/06/03 PHP
PHP实现动态压缩js与css文件的方法
2018/05/02 PHP
让iframe框架网页在任何浏览器下自动伸缩
2006/08/18 Javascript
asp 的 分词实现代码
2007/05/24 Javascript
表头固定(利用jquery实现原理介绍)
2012/11/08 Javascript
Javascript浮点数乘积运算出现多位小数的解决方法
2014/02/17 Javascript
AngularJS入门知识之MVW类框架的编程思想探讨
2014/12/08 Javascript
jquery实现的淡入淡出下拉菜单效果
2015/08/25 Javascript
jquery判断复选框是否被选中的方法
2015/10/16 Javascript
js实现页面跳转的五种方法推荐
2016/03/10 Javascript
巧用Vue.js+Vuex制作专门收藏微信公众号的app
2016/11/03 Javascript
AngularJS使用拦截器实现的loading功能完整实例
2017/05/17 Javascript
详解Angular模板引用变量及其作用域
2018/11/23 Javascript
怎样在vue项目下添加ESLint的方法
2019/05/16 Javascript
浅谈Vue使用Cascader级联选择器数据回显中的坑
2020/10/31 Javascript
[02:16]卖萌的僵尸 DOTA2神话信使飞僵小宝来袭
2014/03/24 DOTA
Python日期操作学习笔记
2008/10/07 Python
python复制列表时[:]和[::]之间有什么区别
2018/10/16 Python
python3实现网络爬虫之BeautifulSoup使用详解
2018/12/19 Python
Django配置MySQL数据库的完整步骤
2019/09/07 Python
基于pytorch padding=SAME的解决方式
2020/02/18 Python
python tqdm 实现滚动条不上下滚动代码(保持一行内滚动)
2020/02/19 Python
pandas中ix的使用详细讲解
2020/03/09 Python
django model object序列化实例
2020/03/13 Python
python中not、and和or的优先级与详细用法介绍
2020/11/03 Python
详解Pytorch显存动态分配规律探索
2020/11/17 Python
美国环保婴儿用品公司:The Honest Company
2017/11/23 全球购物
高职助产应届生自荐信
2013/09/24 职场文书
应届大学生自荐信
2013/12/05 职场文书
少儿节目主持串词
2014/04/02 职场文书
《桥》教学反思
2014/04/09 职场文书
机关党员进社区活动总结
2014/07/05 职场文书
怒海潜将观后感
2015/06/11 职场文书
干货:我将这样书写我的演讲稿!
2019/05/09 职场文书