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通过colorama模块在控制台输出彩色文字的方法
Mar 19 Python
python3新特性函数注释Function Annotations用法分析
Jul 28 Python
django限制匿名用户访问及重定向的方法实例
Feb 07 Python
5分钟 Pipenv 上手指南
Dec 20 Python
python实现名片管理系统项目
Apr 26 Python
python中sort和sorted排序的实例方法
Aug 26 Python
Python tkinter实现图片标注功能(完整代码)
Dec 08 Python
pip安装提示Twisted错误问题(Python3.6.4安装Twisted错误)
May 09 Python
在TensorFlow中实现矩阵维度扩展
May 22 Python
Keras 实现加载预训练模型并冻结网络的层
Jun 15 Python
flask开启多线程的具体方法
Aug 02 Python
python简单利用字典破解zip文件口令
Sep 07 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 swfupload图片上传的实例代码
2013/09/30 PHP
Yii2.0实现的批量更新及批量插入功能示例
2019/01/29 PHP
PHP 实现缩略图
2021/03/09 PHP
用Javascript读取中文COOKIE的解决办法
2007/02/15 Javascript
javascript 显示当前系统时间代码
2009/12/28 Javascript
IE bug table元素的innerHTML
2010/01/11 Javascript
parseInt parseFloat js字符串转换数字
2010/08/01 Javascript
解析Jquery中如何把一段html代码动态写入到DIV中(实例说明)
2013/07/09 Javascript
js获取IP和PcName(IE)在vs中可用
2013/08/02 Javascript
JavaScript获取图片真实大小代码实例
2014/09/24 Javascript
JavaScript中使用指数方法Math.exp()的简介
2015/06/15 Javascript
JS基于FileSystemObject创建一个指定路径的TXT文本文件
2015/08/05 Javascript
js实现prototype扩展的方法(字符串,日期,数组扩展)
2016/01/14 Javascript
BootStrap学习系列之Bootstrap Typeahead 组件实现百度下拉效果(续)
2016/07/07 Javascript
JavaScript实现星级评分
2017/01/12 Javascript
Vue分页组件实例代码
2017/04/17 Javascript
3种vue组件的书写形式
2017/11/29 Javascript
Angular4学习教程之DOM属性绑定详解
2018/01/04 Javascript
axios携带cookie配置详解(axios+koa)
2018/12/28 Javascript
浅谈监听单选框radio改变事件(和layui中单选按钮改变事件)
2019/09/10 Javascript
使用konva和vue-konva库实现拖拽滑块验证功能
2020/04/27 Javascript
js动态生成表格(节点操作)
2021/01/12 Javascript
[17:13]DOTA2 HEROS教学视频教你分分钟做大人-斯拉克
2014/06/13 DOTA
Python利用ansible分发处理任务
2015/08/04 Python
Python基础中所出现的异常报错总结
2016/11/19 Python
Python中音频处理库pydub的使用教程
2017/06/07 Python
python快排算法详解
2019/03/04 Python
用python求一个数组的和与平均值的实现方法
2019/06/29 Python
canvas实现飞机打怪兽射击小游戏的示例代码
2018/07/09 HTML / CSS
沙特阿拉伯电子产品和家用电器购物网站:Black Box
2019/07/24 全球购物
捐款活动总结
2014/08/27 职场文书
我爱家乡演讲稿
2014/09/12 职场文书
国庆节促销广告语2014
2014/09/19 职场文书
初中教师个人工作总结
2015/02/10 职场文书
联谊会开场白
2015/06/01 职场文书
详解python字符串驻留技术
2021/05/21 Python