用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
将这三行屏幕后就可以用文件名进行搜索了。


本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/354425,如需转载请自行联系原作者
相关文章
|
16天前
|
Python
【python】python跨文件使用全局变量
【python】python跨文件使用全局变量
|
25天前
|
监控 数据处理 索引
使用Python批量实现文件夹下所有Excel文件的第二张表合并
使用Python和pandas批量合并文件夹中所有Excel文件的第二张表,通过os库遍历文件,pandas的read_excel读取表,concat函数合并数据。主要步骤包括:1) 遍历获取Excel文件,2) 读取第二张表,3) 合并所有表格,最后将结果保存为新的Excel文件。注意文件路径、表格结构一致性及异常处理。可扩展为动态指定合并表、优化性能、日志记录等功能。适合数据处理初学者提升自动化处理技能。
21 1
|
30天前
|
存储 并行计算 Java
Python读取.nc文件的方法与技术详解
本文介绍了Python中读取.nc(NetCDF)文件的两种方法:使用netCDF4和xarray库。netCDF4库通过`Dataset`函数打开文件,`variables`属性获取变量,再通过字典键读取数据。xarray库利用`open_dataset`打开文件,直接通过变量名访问数据。文中还涉及性能优化,如分块读取、使用Dask进行并行计算以及仅加载所需变量。注意文件路径、变量命名和数据类型,读取后记得关闭文件(netCDF4需显式关闭)。随着科学数据的增长,掌握高效处理.nc文件的技能至关重要。
107 0
|
1月前
|
Python
python中文件和异常处理方法(三)
python中文件和异常处理方法(三)
19 0
|
16天前
|
C++ Python
【C++/Python】C++调用python文件
【C++/Python】C++调用python文件
|
17天前
|
JSON 数据处理 数据格式
Python中的文件读写操作详解
【4月更文挑战第2天】在Python中,文件读写操作是数据处理和程序开发的重要部分。通过文件,我们可以将信息持久化地保存在磁盘上,并在需要时读取和使用这些数据。Python提供了丰富的内置函数和模块,使得文件读写变得简单而高效。本文将详细介绍Python中文件读写的基本操作和常用方法。
|
28天前
|
开发者 Python
Python语言的文件及目录访问
Python语言的文件及目录访问
|
1月前
|
存储 数据管理 Serverless
Python实现:教你轻松统计文件夹下文件个数
Python实现:教你轻松统计文件夹下文件个数
23 0
|
1月前
|
Python
如何使用Python去除文件后缀名?
如何使用Python去除文件后缀名?
19 0

热门文章

最新文章