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中lambda函数 list comprehension 和 zip函数使用指南
Sep 28 Python
Python中的MongoDB基本操作:连接、查询实例
Feb 13 Python
使用Python构建Hopfield网络的教程
Apr 14 Python
Python爬虫爬取美剧网站的实现代码
Sep 03 Python
python中利用await关键字如何等待Future对象完成详解
Sep 07 Python
Python人脸识别初探
Dec 21 Python
儿童python练习实例
May 27 Python
对python多线程与global变量详解
Nov 09 Python
python判断列表的连续数字范围并分块的方法
Nov 16 Python
使用python serial 获取所有的串口名称的实例
Jul 02 Python
python-tornado的接口用swagger进行包装的实例
Aug 29 Python
python实现大文本文件分割成多个小文件
Apr 20 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
DC漫画《蝙蝠侠和猫女》图透 猫女怀孕老爷当爹
2020/04/09 欧美动漫
php 静态变量的初始化
2009/11/15 PHP
PHP下使用CURL方式POST数据至API接口的代码
2013/02/14 PHP
如何使用PHP获取指定日期所在月的开始日期与结束日期
2013/08/01 PHP
自定义min版smarty模板引擎MinSmarty.class.php文件及用法
2016/05/20 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
2017/11/12 PHP
ext form 表单提交数据的方法小结
2008/08/08 Javascript
jQuery 技巧大全(新手入门篇)
2009/05/12 Javascript
jquery不会自动回收xmlHttpRequest对象 导致了内存溢出
2012/06/18 Javascript
Javascript实现滑块滑动改变值的实现代码
2013/04/12 Javascript
javascript中取前n天日期的两种方法分享
2014/01/26 Javascript
JS中判断JSON数据是否存在某字段的方法
2014/03/07 Javascript
js定时调用方法成功后并停止调用示例
2014/04/08 Javascript
JS实现进入页面时渐变背景色的方法
2015/02/25 Javascript
nodejs简单实现中英文翻译
2015/05/04 NodeJs
javascript常用函数(2)
2015/11/05 Javascript
jQuery手指滑动轮播效果
2016/12/22 Javascript
教你用十行node.js代码读取docx的文本
2017/03/08 Javascript
jqueryUI tab标签页代码分享
2017/10/09 jQuery
如何实现双向绑定mvvm的原理实现
2019/05/28 Javascript
Postman参数化实现过程及原理解析
2020/08/13 Javascript
python PrettyTable模块的安装与简单应用
2019/01/11 Python
Python实现字符串匹配的KMP算法
2019/04/04 Python
face++与python实现人脸识别签到(考勤)功能
2019/08/28 Python
python通过SSH登陆linux并操作的实现
2019/10/10 Python
python科学计算之narray对象用法
2019/11/25 Python
在pycharm中为项目导入anacodna环境的操作方法
2020/02/12 Python
python 负数取模运算实例
2020/06/03 Python
New Balance英国官方网站:始于1906年,百年慢跑品牌
2016/12/07 全球购物
Nuts.com:优质散装,批发坚果、干果和巧克力等
2017/03/21 全球购物
德国在线购买葡萄酒网站:Geile Weine
2019/09/24 全球购物
优秀员工推荐信
2014/05/10 职场文书
病危通知单
2015/04/17 职场文书
大学开学感言
2015/08/01 职场文书
Css预编语言及区别详解
2021/04/25 HTML / CSS
OpenCV3.3+Python3.6实现图片高斯模糊
2021/05/18 Python