python编写查找函数_用python编写一个高效搜索代码工具

本文介绍如何使用Python编写一个强大的搜索工具,具备多关键词搜索、排除关键词、指定文件类型、排除文件类型、递归查找等功能,适用于Windows和Linux环境。通过os库函数实现文件路径操作,代码示例详尽。
摘要由CSDN通过智能技术生成

大多码农在linux环境下使用grep+关键词的命令搜索自己想要的代码或者log文件。今天介绍用python如何编写一个更强大的搜索工具,windows下也适用。我们的需求:

1,可以同时指定多个关键词。比如某个文件某一行中有”error: aa bb cc”,如果检索关键词error和cc则可以显示该行,避免单一关键词冗余信息太多

2,可以排除某些关键词。对于”error: aa bb cc”,如果设定排除bb,则不予显示该行

3,可以指定某些文件名或者文件名后缀,如只搜索

.cpp和 .h的文件

4,可以排除某些文件名或者后缀,比如排除.log和.bak

5,最重要一点,和grep一样,必须能够递归查找,只要指定一个目录,则自动逐层搜索该目录下所有的子文件夹,文件

6,最后能打印出吻合的文件完整路径,能显示搜索到的行号

为了实现以上功能,我们需要用到python自带的os库函数,功能强大,先把用到的几个先做简单说明:

os.path.exists ( xxx )判断路径xxx是否存在

os.listdir ( xxx )把xxx路径下所有文件和文件夹名字转换成一个list列表

os.path.join ( aaa, bbb )把字符串aaa和bbb拼接成一个完整的文件绝对路径

os.path.isfile (xxx)判断xxx是不是一个文件

os.path.isdir (xxx)判断xxx是不是一个文件夹

以下是代码正文

# -*- coding: cp936 -*-

#代

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值