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 相关文章推荐
仅用500行Python代码实现一个英文解析器的教程
Apr 02 Python
python多线程分块读取文件
Aug 29 Python
Python编写打字训练小程序
Sep 26 Python
python读文件的步骤
Oct 08 Python
Python 实现OpenCV格式和PIL.Image格式互转
Jan 09 Python
Tensorflow中tf.ConfigProto()的用法详解
Feb 06 Python
Python字典添加,删除,查询等相关操作方法详解
Feb 07 Python
使用TensorFlow直接获取处理MNIST数据方式
Feb 10 Python
python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法
Feb 26 Python
Python列表如何更新值
May 27 Python
详解Anaconda 的安装教程
Sep 23 Python
Python时间操作之pytz模块使用详解
Jun 14 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
php获取301跳转URL简单实例
2013/12/16 PHP
浅谈php命令行用法
2015/02/04 PHP
php实现的RSS生成类实例
2015/04/23 PHP
laravel config文件配置全局变量的例子
2019/10/13 PHP
如何在centos8自定义目录安装php7.3
2019/11/28 PHP
jquery $(&quot;#variable&quot;) 循环改变variable的值示例
2014/02/23 Javascript
jQuery.holdReady()使用方法
2014/05/20 Javascript
JS实现从表格中动态删除指定行的方法
2015/03/31 Javascript
jquery实现鼠标滑过小图查看大图的方法
2015/07/20 Javascript
JavaScript实现网站访问次数统计代码
2015/08/12 Javascript
jQuery实现带有动画效果的回到顶部和底部代码
2015/11/04 Javascript
基于Jquery和html5实现炫酷的3D焦点图动画
2016/03/02 Javascript
Bootstrap每天必学之级联下拉菜单
2016/03/27 Javascript
BootStrap和jQuery相结合实现可编辑表格
2016/04/21 Javascript
Angular.js前台传list数组由后台spring MVC接收数组示例代码
2017/07/31 Javascript
浅谈vuex 闲置状态重置方案
2018/01/04 Javascript
Vue单页及多页应用全局配置404页面实践记录
2018/05/22 Javascript
vue使用自定义指令实现拖拽
2021/01/29 Javascript
[02:52]DOTA2新手基础教程 米波
2014/01/21 DOTA
Python 实现某个功能每隔一段时间被执行一次的功能方法
2018/10/14 Python
pyqt 实现为长内容添加滑轮 scrollArea
2019/06/19 Python
flask/django 动态查询表结构相同表名不同数据的Model实现方法
2019/08/29 Python
python GUI库图形界面开发之PyQt5动态加载QSS样式文件
2020/02/25 Python
python字符串常用方法及文件简单读写的操作方法
2020/03/04 Python
Python Selenium安装及环境配置的实现
2020/03/17 Python
纯css3(无图片/js)制作的几个社交媒体网站的图标
2013/03/21 HTML / CSS
webapp字号大小跟随系统字号大小缩放的示例代码
2018/12/26 HTML / CSS
Yahoo-PHP面试题1
2016/07/20 面试题
将"引用"作为函数参数有哪些特点
2013/04/05 面试题
致800米运动员广播稿
2014/02/16 职场文书
优秀少先队员主要事迹材料
2014/05/28 职场文书
自我检讨报告
2015/01/28 职场文书
致运动员赞词
2015/07/22 职场文书
公司员工宿舍管理制度
2015/08/07 职场文书
学习委员竞选稿
2015/11/20 职场文书
微软Win11有哪些隐藏功能? windows11多个功能汇总
2021/11/21 数码科技