Python脚本小工具之文件与内容搜索

 目录

一、前言 

二、代码

三、结果


一、前言 

    ​日常工作中,经常需要在指定路径下查找指定类型的文件,或者是指定内容的查找,在window环境中,即可以使用一些工具如notepad或everything,也可以使用python脚本。但在linux环境下,则需用python脚本

二、代码

    ​代码中定义一个类包含3个函数

listDir:查找指定目录下的所有文件,包含子目录下的文件,返回包含文件名和路径组成的字典

flisttype:在指定目录下查找文件名包含指定名称的文件,返回文件名和对应的路径的字典

fcontfind:文件内容查找,返回包含指定内容文件的路径,输入为需查找文件组成的列表fdict和需查找的内容cont

import os
"""内容的查找只能针对纯文本文档,对word、excel之类的文件无效"""
class file_content_search:
    def __init__(self):
        self.allfile={}
        self.typefile = {}
        self.contfile=[]
    #查找指定目录下的所有文件,包含子目录下的文件,返回包含文件名和路径组成的字典
    def listDir(self,rootDir):
        for filename in os.listdir(rootDir):
            pathname = os.path.join(rootDir, filename)
            pathname =pathname.replace("\\","/")    #将双斜杠变成单斜杠,双斜杠路径无效
            if (os.path.isfile(pathname)):
                self.allfile[filename]=pathname
            else:
                self.listDir(pathname)
        return(self.allfile)
    #在指定目录下查找文件名包含指定名称的文件,返回文件名和对应的路径的字典
    def flisttype(self,allfile1,listtype):
        for ftype in listtype:
            for fname,fpath in allfile1.items():
                if ftype in fname:
                    self.typefile[fname]=fpath
        return(self.typefile)

    #文件内容查找,返回包含指定内容文件的路径,输入为需查找文件组成的列表fdict和需查找的内容cont
    def fcontfind(self,fdict,cont):
        for fname,fpath in fdict.items():
            with open(fpath, "r",encoding="gbk",errors="ignore") as f:
                content = f.read()
                result = content.find(cont)
                if result != -1:
                    print("Found at index", result)
                    self.contfile.append(fpath)
                # else:
                #     print("Not found,")
        return(self.contfile)
if __name__=="__main__":
    file_path=r"C:\Users\Administrator\Desktop\计划"
    file_find=file_content_search()   #类实例化
    file_result=file_find.listDir(file_path)
    print(file_result)
    type = ["txt"]    #指定查找的文件类型
    ftype_find=file_find.flisttype(file_result,type)  #使用上一个函数listDir中返回的文件列表
    print(ftype_find)
    cont="生活"       #指定查找的内容
    fcont_find=file_find.fcontfind(ftype_find,cont)
    print(fcont_find)

三、结果

文件查找

 

查找xmind文件

 

查找txt文件包含“生活”的文件

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python合法网页爬虫工具项目分享 内容概览: 这个分享包涵了我开发Python爬虫工具项目,主要用于合法爬取某些网页信息。以下是主要内容: 源代码:包括Python代码和相关脚本。这些代码展示了如何使用Python进行网页抓取、解析和数据提取。 项目文件:除了代码,我还分享了整个项目的文件,包括设计稿、图标、图片等资源。这些资源对于理解项目背景和设计思路至关重要。 文档与操作手册:为了方便他人理解和使用我的作品,我编写了详细的操作手册和使用说明,同时提供了一份Markdown格式的文档,概述了项目的主要功能和特点。 学习笔记:在项目开发过程中,我记录了大量的学习笔记和心得体会。这些笔记不仅有助于理解项目的开发过程,还能为学习Python爬虫技术提供宝贵的参考资料。 适用人群: 这份项目合集适用于所有对Python爬虫开发感兴趣的人,无论你是学生、初学者还是有一定经验的开发者。无论你是想学习新的技术,还是想了解一个完整的项目开发流程,这份资料都将为你提供极大的帮助。 使用建议: 按部就班地学习:建议从基础的Python爬虫开发开始,逐步深入到实际应用中。通过实践,逐步掌握Python爬虫开发的各项技能。 参考项目文件和笔记:项目文件和笔记提供了丰富的背景信息和开发经验。在学习的过程中,不妨参考这些资料,以帮助你更好地理解和学习。 动手实践:Python爬虫开发是一门实践性很强的技能。通过实际操作,你可以更好地掌握Python爬虫开发的各项技能,并提高自己的实践能力。Python合法网页爬虫工具项目分享 内容概览: 这个分享包涵了我开发Python爬虫工具项目,主要用于合法爬取某些网页信息。以下是主要内容: 源代码:包括Python代码和相关脚本。这些代码展示了如何使用Python进行网页抓取、解析和数据提取。 项目文件:除了代码,我还分享了整个项目的文件,包括设计稿、图标、图片等资源。这些资源对于理解项目背景和设计思路至关重要。 文档与操作手册:为了方便他人理解和使用我的作品,我编写了详细的操作手册和使用说明,同时提供了一份Markdown格式的文档,概述了项目的主要功能和特点。 学习笔记:在项目开发过程中,我记录了大量的学习笔记和心得体会。这些笔记不仅有助于理解项目的开发过程,还能为学习Python爬虫技术提供宝贵的参考资料。 适用人群: 这份项目合集适用于所有对Python爬虫开发感兴趣的人,无论你是学生、初学者还是有一定经验的开发者。无论你是想学习新的技术,还是想了解一个完整的项目开发流程,这份资料都将为你提供极大的帮助。 使用建议: 按部就班地学习:建议从基础的Python爬虫开发开始,逐步深入到实际应用中。通过实践,逐步掌握Python爬虫开发的各项技能。 参考项目文件和笔记:项目文件和笔记提供了丰富的背景信息和开发经验。在学习的过程中,不妨参考这些资料,以帮助你更好地理解和学习。 动手实践:Python爬虫开发是一门实践性很强的技能。通过实际操作,你可以更好地掌握Python爬虫开发的各项技能,并提高自己的实践能力。Python合法网页爬虫工具项目分享 内容概览: 这个分享包涵了我开发Python爬虫工具项目,主要用于合法爬取某些网页信息。以下是主要内容: 源代码:包括Python代码和相关脚本。这些代码展示了如何使用Python进行网页抓取、解析和数据提取。 项目文件:除了代码,我还分享了整个项目的文件,包括设计稿、图标、图片等资源。这些资源对于理解项目背景和设计思路至关重要。 文档与操作手册:为了方便他人理解和使用我的作品,我编写了详细的操作手册和使用说明,同时提供了一份Markdown格式的文档,概述了项目的主要功能和特点。 学习笔记:在项目开发过程中,我记录了大量的学习笔记和心得体会。这些笔记不仅有助于理解项目的开发过程,还能为学习Python爬虫技术提供宝贵的参考资料。 适用人群: 这份项目合集适用于所有对Python爬虫开发感兴趣的人,无论你是学生、初学者还是有一定经验的开发者。无论你是想学习新的技术,还是想了解一个完整的项目开发流程,这份资料都将为你提供极大的帮助。 使用建议: 按部就班地学习:建议从基础的Python爬虫开发开始,逐步深入到实际应用中。通过实践,逐步掌握Python爬虫开发的各项技能。 参考项目文件和笔记:项目文件和笔记提供了丰富的背景信息和开发经验。在学习的过程中,不妨参考这些资料,以帮助你更好地理解和学习。 动手实践:Python爬虫开发是一门实践性很强的技能。通过实际操作,你可以更好地掌握Python爬虫开发的各项技能,并提高自己的实践能力。Python合法网页爬虫工具项目分享 内容概览: 这个分享包涵了我开发Python爬虫工

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值