python在目录中查找指定文件实现代码

模糊查找

 代码如下 复制代码

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

指定的文件名精确查找

 代码如下 复制代码

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

时间: 2024-08-02 07:27:28

python在目录中查找指定文件实现代码的相关文章

python实现在目录中查找指定文件的方法_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 mat

Linux系统在多级目录中查找某个文件的方法

Linux系统在多级目录中查找某个文件的方法? 有些时候我们需要查找Linux系统中的某个文件,但该文件可能在Linux系统多级目录中,哪么我们应该如何去查找呢,下面提供三种方法供大家参考: 1 find /dir -http://www.aliyun.com/zixun/aggregation/11696.html">name filename.ext2 du -a | grep filename.ext3 locate filename.ext

Python遍历目录中的所有文件的方法_python

os.walk生成器os.walk(PATH), PATH是个文件夹路径,当然可以用.或者../这样啦. 返回的是个三元元组为元素的列表, 每个元素代表了一个文件夹下的内容.第一个就是当前文件夹下内容. 返回的三元元组代表(该工作文件夹, 该文件夹下的文件夹的列表, 该文件夹下文件的列表). 所以, 获得所有子文件夹, 就是(d代表这三元元组): os.path.join(d[0],d[1]); 获得所有子文件, 就是: os.path.join(d[0],d[2]); 以下例子使用了两套循环,

python实现获取客户机上指定文件并传输到服务器的方法_python

本文实例讲述了python实现获取客户机上指定文件并传输到服务器的方法.分享给大家供大家参考.具体分析如下: 该程序实现了,把目标机器的某个目录(可控)的所有的某种类型文件(可控)全部获取并传到己方的机器上. 1.用了base64的encode(infile,outfile)加密,以及decode(infile,outfile)解密,这是2进制加密解密 2.用zip压缩 3.socket中server.py放到自己这方python server.py,然后client.py放到目标机器,然后py

ftp-如何在FTP中找到指定文件

问题描述 如何在FTP中找到指定文件 有时想寻找的文件不知道在哪个目录里,有没有什么方法 ,可以像搜索".java"的形式找到以.java后缀的文件?

解压zip压缩包中的指定文件(害死人的错误)

使用Java 解压zip压缩包中的指定文件时遇到了问题. 且听我细细道来: 主要方法如下: Java代码   public static byte[] getContent2(final ZipFile zipFile, final ZipEntry zipEntry)               throws IOException {           InputStream inputStream = zipFile.getInputStream(zipEntry);          

删除jar包中的指定文件

如何删除jar包中的指定文件呢? 当然使用解压缩软件(rar,zip,7z)肯定没问题.但是我想自动化,图形界面的工具就无能为力了. 核心方法: Java代码   /***       * 删除jar包中的内容       * @param jarPath       * @param fileName : "META-INF/BCKEY.DSA"       * @throws IOException       * @throws ArchiveException       */

用python调用libtorrent下载种子指定文件

问题描述 用python调用libtorrent下载种子指定文件 官方是这样写的: session s; s.listen_on(std::make_pair(6881, 6889)); add_torrent_params p; p.save_path = "./"; p.ti = new torrent_info(argv[1]); s.add_torrent(p); 但是这样写的话是下载整个种子的文件api上也没说怎么写(也许是我没看懂,因为C++没怎么学) 求指导怎么用pyth

java读取指定文件内容代码

java读取指定文件内容代码 <%@ page contenttype="text/html; charset=gb2312" language="java" import="java.sql.*" errorpage="" %> <html xmlns="http://www.111cn.net/1999/xhtml"> <head> <meta http-equ