Python学习笔记(24)-Python文件搜索器Version1.0(可搜索压缩文件中包含的文件)

简介: 本文目录1. 简介2. 效果演示3. 源代码

1. 简介

本篇实现了一个文件搜索器,虽然是命令行界面的,但是可以快速搜索指定目录下的指定文件,同时可以搜索到压缩文件中包含的文件。

2. 效果演示

以下是命令行下检索F:盘下文件夹名中包含Java的所有文件信息。

请输入要搜索的文件所在的目录
F:
请输入搜索文件名包含字符串
Java
开始检索[F:]目录下包含[Java]的文件
##查找过程中的异常:File is not a zip file
##查找过程中的异常:File is not a zip file
[查找结果]F:360data\重要数据\桌面\Eclipse for Java SE.lnk
[查找结果]F:360data\重要数据\桌面\工具箱\Eclipse for Java SE.lnk
[查找结果]F:游戏\Java.zip
[查找结果]F:游戏\Java.zip解压后的:Java.doc
>>> 

3. 源代码

#文件搜索工具(可搜索zip内部文件)
#-----------------------------------------------------模块导入与变量定义
#导入模块
import os,zipfile
#搜索结果
result=[]
#-----------------------------------------------------函数定义部分
#目录遍历函数
def SearchPath(path,keyword):
    for folder,subFolders,files in os.walk(path):
        for file in files:#文件分析
            AnalyzeFile(folder,file,keyword)
        for subFolder in subFolders:#递归遍历
            SearchPath(subFolder,keyword)     
#文件分析,是否包含指定字符串,是否压缩文件中包含keyword
def AnalyzeFile(folder,file,keyword):
    if keyword in file: #文件名中包含关键字
        result.append(folder+"\\"+file)
    if file.endswith(".zip"):#压缩文件
        try:#对压缩文件分析中抛出的异常进行捕获
            viewZip=zipfile.ZipFile(folder+"\\"+file)
            for name in viewZip.namelist():
                if keyword in name:
                    result.append(folder+"\\"+file+"解压后的:"+name)
            viewZip.close()
        except Exception as ex:
            print("##查找过程中的异常:"+str(ex))
#-----------------------------------------------------程序流程部分
#获取目录信息
print("请输入要搜索的文件所在的目录")
dir=input()
while os.path.exists(dir)==False:
    print("目录不存在,请重新输入")
    dir=input()
#获取文件信息
print("请输入搜索文件名包含字符串")
keyword=input()
while len(keyword)<=0:
    print("请输入至少1个字符")
    keyword=input()
#开始检索
print("开始检索["+dir+"]目录下包含["+keyword+"]的文件")
#遍历
SearchPath(dir,keyword)
#输出
for re in result:
    print("[查找结果]"+re)
相关文章
|
2天前
|
JSON 安全 数据格式
Python文件操作宝典:一步步教你玩转文件读写
Python文件操作宝典:一步步教你玩转文件读写
|
2天前
|
Python
python搭建文件服务
python搭建文件服务
7 1
|
2天前
|
数据安全/隐私保护 Python
经验大分享:python读取yaml文件
经验大分享:python读取yaml文件
|
2天前
|
Python
python3 入门学习笔记
python3 入门学习笔记
3 0
|
3天前
|
存储 Python
Python处理文件的常用代码
Python处理文件的常用代码
|
3天前
|
Python
python文件的读取与写入
python文件的读取与写入
9 0
|
4天前
|
缓存 算法 Python
python文件读写讲解
python文件读写讲解
10 0
|
4天前
|
安全 Linux PHP
Python文件读写的详细讲解
Python文件读写的详细讲解
10 0
|
4天前
|
XML 存储 JavaScript
python读取xml文件详细讲解
python读取xml文件详细讲解
16 0
|
4天前
|
IDE 开发工具 Python
使用python3遍历文件夹并将文件目录保存到指定文件
使用python3遍历文件夹并将文件目录保存到指定文件
10 0