`
icyheart
  • 浏览: 777349 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用python查找指定格式或名称的文件及修改指定文件夹名称

阅读更多

写这个也是为了能更好的学习python,大家有什么意见可以提出来,这个代码直接放到编译器中运行即可。

#-*- coding: GBK -*-
import os, sys, re

newdir = ""

#递归搜索函数
def search(rootdir,searchdirname):
    if os.path.isdir(rootdir):
        #print rootdir
        #分离路径和文件夹
        split1 = os.path.split(rootdir)
        #print split1[1]

        #判断是否为指定的文件夹
        if split1[1] == searchdirname:
            print "找到文件夹:%s" % (rootdir)
            try:
                #将文件夹名称改为新的文件夹名称
                os.rename(rootdir,split1[0]+"\\"+newdir)
                print "文件夹 [%s] 已改名为 [%s]" % (rootdir,newdir)
            except:
                pass

        #遍历指定文件夹下的内容(文件和文件夹列表)
        listnew = os.listdir(rootdir)

        for l1 in listnew:
            path = rootdir + "\\" + l1
            #递归调用
            search(path,searchdirname)
    else:
        #print '不是文件夹:%s' % (rootdir)
        return
    
#搜索指定格式的文件    
def find_file_by_pattern(pattern,base):   
    '''''查找给定文件夹下面所有 '''  
    re_file = re.compile(pattern)   
    if base == ".":   
        base = os.getcwd()   
           
    final_file_list = []   
    #print base   
    cur_list = os.listdir(base)   
    for item in cur_list:   
        print item
        full_path = os.path.join(base, item)   
        if full_path.endswith(pattern):#不能写成单引号,单引号达不到预期的效果
        # print full_path   
            #bfile = os.path.isfile(item)
            if os.path.isfile(full_path):
               if re_file.search(full_path):
                   print re_file.search(full_path).group()
                   final_file_list.append(full_path)   
            else:   
               final_file_list += find_file_by_pattern(pattern,full_path)
        #for filename in re_file.findall(final_file_list):
           # print filename
        else:
            continue
    return final_file_list

def serchDir(startdir,dirname):
    search(startdir,dirname)
    
if __name__ == '__main__':
    root=raw_input("输入搜索目录:")
    key=raw_input("输入待搜索的文件夹名称:")
    #newdir = raw_input("文件夹改名为:")
    #serchDir(root,key)
    base="".join([root,key])
    fileName=raw_input("请输入要查找的文件名称或后缀名:")
    for result in find_file_by_pattern(fileName,base):
        print result

 

 如果要查找指定名字的文件只需要将以下代码屏幕即可

if full_path.endswith(pattern):#不能写成单引号,单引号达不到预期的效果
......
......
......
else:
            continue

 

将这三行屏幕后就可以用文件名进行搜索了。

0
0
分享到:
评论

相关推荐

    打印当前文件夹下指定类型文件到文本文件

    标题"打印当前文件夹下指定类型文件到文本文件"描述的就是这样一个功能,它允许用户便捷地将一个目录下符合特定条件(比如扩展名)的文件信息导出为文本格式。接下来,我们将深入探讨如何实现这一功能,并涉及相关的...

    python系统指定文件的查找只输出目录下所有文件及文件夹

    本文重点讲述了如何使用Python语言查找指定目录下的所有文件和文件夹,并且仅输出这些文件和文件夹的名称,而不会进入子目录。此外,还介绍了如何使用正则表达式处理字符串数据,以及如何在Python中修改运行路径和...

    python查找目录下指定扩展名的文件实例

    使用os模块中的listdir()函数可以列出指定目录下的所有文件和文件夹名称。这个函数不需要参数时,默认列出的是当前工作目录下的文件和文件夹列表。 接着,我们创建一个空列表newlist,用来存放匹配到的文件名。通过...

    python批量修改windows电视剧文件名称 rename_file.zip

    Python批量修改Windows电视剧文件名称是一种常见的情景,特别是在整理个人媒体库时,为了方便管理和查找,我们往往希望文件名简洁且具有规律性。本项目提供的`rename_file.zip`压缩包包含了一个实现这一功能的Python...

    对指定文件夹的图像名称进行排序

    总的来说,这个“对指定文件夹的图像名称进行排序”的程序是一个实用的工具,可以帮助用户有效地管理和整理他们的文件。通过自定义排序依据,用户可以根据个人需求轻松地组织文件系统。这个程序的实现展示了如何利用...

    全盘查找文件夹 源码

    这段Python代码会从当前工作目录开始,递归查找名为“目标文件夹名称”的文件夹,并打印出它们的完整路径。 如果源码是用其他语言编写的,实现方式可能会有所不同。例如,在C#中,我们可以使用`Directory....

    遍历指定文件夹下所有文件

    在IT领域,遍历指定文件夹下的所有文件是一项常见的任务,尤其在编程和自动化操作中。这个任务可以通过各种编程语言来实现,例如C++、C#、Python、Java等。这里我们将聚焦于Windows API中的`FindFirstFile`和`...

    python批量修改文件名“资源”

    在IT行业中,Python是一种强大的编程语言,以其简洁的语法和丰富的库支持而广受欢迎。在文件操作方面,...总的来说,Python的这些功能使批量修改文件名变得简单而高效,无论是处理单个文件夹还是解压后的ZIP文件。

    Python遍历指定文件及文件夹的方法

    ### Python遍历指定文件及文件夹的方法 在Python编程中,遍历文件及文件夹是一项常见且实用的操作,尤其在处理大量文件时更是如此。本文将深入探讨如何使用Python来遍历指定目录下的所有文件及子目录,并通过两种...

    python读取多层嵌套文件夹中的文件实例

    在Python编程中,有时我们需要遍历多层嵌套的文件夹来访问和处理其中的文件。这通常涉及到文件系统的操作,而Python的`os`和`os.path`模块提供了这样的功能。在这个实例中,我们将讨论如何使用递归函数来解决这个...

    查找并显示文件夹下所有excel表的名称,路径,大小和行数

    这段代码会遍历指定文件夹下的所有.xlsx和.xls文件,对于每个文件,它会读取文件名、路径和大小,并打开每个工作表,计算行数。所有这些信息将被收集到一个pandas数据框中,方便进一步的分析或导出。 请注意,如果...

    python读取目录下最新的文件夹方法

    在Python编程中,有时我们需要处理文件系统中的文件或文件夹,比如查找最近创建或修改的文件夹来进行后续操作。本文将详细介绍如何使用Python来读取指定目录下的最新文件夹,并通过一个具体示例进行说明。 #### ...

    Python实现递归遍历文件夹并删除文件

    以上三种方法分别展示了如何使用Python递归地遍历文件夹、删除特定文件夹以及查找包含特定字符串的文本文件。这些技巧对于自动化文件管理和搜索非常有用,尤其适合需要频繁处理大量文件的场景。

    对python遍历文件夹中的所有jpg文件的实例详解

    在Python编程中,遍历文件夹并找到特定类型的文件是一个常见的任务,比如寻找所有`.jpg`格式的图像文件。在本实例中,我们将探讨如何使用Python的`glob`模块来实现这一功能。`glob`模块提供了查找符合特定模式的文件...

    python脚本批量将gdb导出为shp(修改版).docx

    根据提供的文档信息,本文将详细解释如何使用Python脚本批量将地理数据库(Geodatabase,简称GDB)中的要素类导出为Shapefile格式(简称SHP)。此过程涉及的关键技术包括ArcPy模块的使用、操作系统路径处理以及递归...

    选择文件夹选择文件夹选择文件夹选择文件夹

    9. **编程接口**:在编程中,经常需要编写代码来选择或操作文件夹,如使用Python的os模块或Java的File类。 10. **权限与安全**:选择文件夹时,需注意权限设置,防止未经授权的访问或修改。 总之,选择文件夹这一...

    多级文件夹遍历,准确遍历多级文件夹下的内容

    下面是一个简单的Python示例,展示了如何使用`os.walk()`遍历多级文件夹并查找特定类型的文件: ```python import os def search_files(directory, extension): for root, dirs, files in os.walk(directory): ...

    批量文件名替换

    "批量文件名替换"就是这样一个实用的功能,它允许用户高效地修改指定文件夹及其子文件夹下所有文件和文件夹的名称。这个工具的核心是通过编程的方式实现文件名的批量替换,从而节省手动操作的时间和精力。 批量...

    《PythonCook》

    文件与IO章节包含了读写文本数据、打印输出至文件中、使用其他分隔符或行终止符打印、读写字节数据、文件不存在才能写入、字符串的I/O操作、读写压缩文件、固定大小记录的文件迭代、读取二进制数据到可变缓冲区中、...

Global site tag (gtag.js) - Google Analytics