python实现在目录中查找指定文件的方法

 更新时间:2014年11月11日 09:16:48   投稿:shichen2014  
这篇文章主要介绍了python实现在目录中查找指定文件的方法,通过模糊查找与精确查找两个实例较为详细的阐述了文件查找的方法,是非常实用的技巧,需要的朋友可以参考下

本文实例讲述了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中的分支和循环结构

    这篇文章主要介绍了Python中的分支和循环结构,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • 利用scikitlearn画ROC曲线实例

    利用scikitlearn画ROC曲线实例

    这篇文章主要介绍了利用scikitlearn画ROC曲线实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • Python利用PyAutoGUI模块实现控制鼠标键盘

    Python利用PyAutoGUI模块实现控制鼠标键盘

    PyAutoGUI是一个简单易用,跨平台的可以模拟键盘鼠标进行自动操作的python库。本文将详细讲讲它是如何实现控制鼠标键盘的,感兴趣的可以了解一下
    2022-06-06
  • Python进程,多进程,获取进程id,给子进程传递参数操作示例

    Python进程,多进程,获取进程id,给子进程传递参数操作示例

    这篇文章主要介绍了Python进程,多进程,获取进程id,给子进程传递参数操作,结合实例形式分析了Python多进程、父子进程以及进程参数传递相关操作技巧,需要的朋友可以参考下
    2019-10-10
  • Python运行报错UnicodeDecodeError的解决方法

    Python运行报错UnicodeDecodeError的解决方法

    本文给大家分享的是在Python项目中经常遇到的关于编码问题的一个小bug的解决方法以及分析方法,有相同遭遇的小伙伴可以来参考下
    2016-06-06
  • pytest实战技巧之参数化基本用法和多种方式

    pytest实战技巧之参数化基本用法和多种方式

    本文介绍了pytest参数化的基本用法和多种方式,帮助读者更好地使用这个功能,同时,还介绍了一些高级技巧,如动态生成参数名称、参数化的组合和动态生成参数化装饰器,帮助读者更灵活地使用参数化,感兴趣的朋友参考下吧
    2023-12-12
  • python实现批量处理将图片粘贴到另一张图片上并保存

    python实现批量处理将图片粘贴到另一张图片上并保存

    今天小编就为大家分享一篇python实现批量处理将图片粘贴到另一张图片上并保存,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Python对多个sheet表进行整合实例讲解

    Python对多个sheet表进行整合实例讲解

    在本篇文章里小编给大家整理的是一篇关于Python对多个sheet表进行整合实例讲解内容,有兴趣的朋友们可以学习下。
    2021-04-04
  • python检查URL是否正常访问的小技巧

    python检查URL是否正常访问的小技巧

    检查一个URL是否正常很容易,如果检查2000个URL,或者是大批量的URL怎么办?这篇文章就为大家介绍了python检查URL是否正常访问的小技巧,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • 详解Python装饰器 给你的咖啡加点料

    详解Python装饰器 给你的咖啡加点料

    今天你的咖啡加糖了吗? 让我们通过一个简单的例子来引出装饰器的概念及用法。在引出装饰器之前,我们先来了解一下函数的概念,感兴趣的朋友跟随小编一起看看吧
    2021-07-07

最新评论