python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python搜索工具

用python实现一个文件搜索工具

作者:小木_.

大家好,本篇文章主要讲的是用python实现一个搜索工具,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下

前言

经常使用电脑自带的搜索很慢很卡,今天做一个搜索工具,可以搜索到隐藏的文件,而且速度也很快

步骤

导入模块

import os

检测一下输入的路径最后一位有没有/,如果没有则添加,是为了方便操作

if DIR.endswith('/') == True:
    pass
else:
    DIR = DIR+'/'

用来循环检测文件,进入文件目录然后检测,再次进入检测,循环往复

def iterbrowse(path):
    for home, dirs, files in os.walk(path):
        for filename in files:
            yield os.path.join(home, filename)

用来将路径的\\改为/,也是为了方便软件识别

NAME = fullname.replace("\\", "/")  # 替换

检测你要查找的文件名称是否存在,如果存在则打印出来,列,查找text,则会打印出关于text的所有文件,包含:textwet.*,sdftext.*,*.text

os.path.basename(NAME)  用来提取文件名不含路径,

inpu in os.path.basename(NAME)   用来检测os.path.basename(NAME)里是否含有inpu(值)

os.path.isfile(NAME)    用于检测文件是否存在

       if (inpu in os.path.basename(NAME)) == True:
        if os.path.isfile(NAME) == True:
            print(NAME)

操作如下:

输入路径,输入要搜索的名称,可以看到已经搜索出来了

完整代码:

import os
 
DIR = input('输入路径:')
inpu = input('输入关键字:')
 
if DIR.endswith('/') == True:
    pass
else:
    DIR = DIR+'/'
 
def iterbrowse(path):
    for home, dirs, files in os.walk(path):
        for filename in files:
            yield os.path.join(home, filename)
 
 
for fullname in iterbrowse(DIR):
    NAME = fullname.replace("\\", "/")  # 替换
    if (inpu in os.path.basename(NAME)) == True:
        if os.path.isfile(NAME) == True:
            print(NAME)

总结

到此这篇关于用python实现一个搜索工具的文章就介绍到这了,更多相关python搜索工具内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文