Python开发练习--Python 通过(文件格式,文件名称,路径)搜索电脑里文件的代码demo1

本文介绍了一段Python代码,用于根据文件格式、文件名称和指定路径在Windows系统中搜索文件。程序默认搜索C盘下所有格式的文件,但需调整以适应不同环境。此外,作者还提供200G学习资源及免费处理小Task服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天遇到一个问题,在电脑里找一个文件,觉得电脑系统自带搜索不好用,在程序里调用不方便,就写了一个小demo。

程序说明:输入文件格式、文件名称、搜索路径,返回查到的所有文件列表(或为空列表)。默认搜索C盘下的所有格式的文件。

手机里没有C:\ ,使用时要改默认搜索路径。

import os


class searchAllFiles():
    '''
    find file=filename+filetype in folder path0
    if input filetype=='' find all types with file=filename in folder path0
    if input filename=='' find all files wiith file=filetype in folder path0
    if input path0==''   find all files in folder c:\\ 
    return all found files(with path) list or [].
    '''
    def __init__(self,filetype='',filename='',path0=r'C:\\'):
        self.filetype=filetype
        self.filename=filename
        if os.path.isdir(path0):
            self.path0=path0
        else :
            self.path0=r'C:\\'
       

    def searchfile(self):
        findlist=[]
        try:
            for dirpath,dirname,filename in os.walk(self.path0):
                for filetp in filename:
                    filetype0=filetp.split('.')[-1]
                    #print(filetype0,self.filetype)
                    if self.filetype:
                        if (filetype0 in self.filetype) or (self.filetype in filetype0):
                            if self.filename :
                                if self.filename in filetp:
                                    findlist.append(os.path.join(dirpath,filetp))
                            else:
                                findlist.append(os.path.join(dirpath,filetp))
                    else:
                        if self.filename :
                            if self.filename in filetp:
                                findlist.append(os.path.join(dirpath,filetp))
                        else:
                            findlist.append(os.path.join(dirpath,filetp))
                        
        except:
            pass
        return findlist


path1=r'C:\Users'
ast=searchAllFiles('txt','',path1)
alst=ast.searchfile()
print('找到文档数量: ',len(alst))

关注Python开发练习,200G学习资源免费送,还可以免费处理2.5小时以内的各类小Task。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值