学无先后,达者为师

网站首页 编程语言 正文

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

作者:小木_.   更新时间: 2022-03-28 编程语言

前言

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

步骤

导入模块

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)

总结

原文链接:https://blog.csdn.net/weixin_46625757/article/details/122459784

栏目分类
最近更新