首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >用Pyhton实现一个简单的文件搜索工具

用Pyhton实现一个简单的文件搜索工具

作者头像
Yubendan
发布2025-12-30 15:01:57
发布2025-12-30 15:01:57
1830
举报

每个人的电脑中都有许多的文件,想要快速查找到这些文件,就要使用到文件查找工具。

比如非常好用的everything。

 现在我们就来用Pyhthon实现我们的文件查找工具。

原理以及预期效果:

递归查找,遇到子目录,就进入子目录,进行查找

运用的模块函数:

代码语言:javascript
复制
import os  //  os.walk

运用这个函数,只需要使用简单的循环,就可以完成递归遍历的过程。

就不需要手写递归了。

代码实现:

首先,我们当然要引入os模块。

并且简单的与用户进行交互。

代码语言:javascript
复制
import os

inputPath = input("请输入要搜索的路径:")
pattern = input("请输入要搜索的关键词:")

接下来就要使用我们的 os.walk  

代码语言:javascript
复制
import os

inputPath = input("请输入要搜索的路径:")
pattern = input("请输入要搜索的关键词:")

for dirpath,dirnames,filenames in  os.walk(inputPath):

os.walk 每次调用都能自动的对子目录进行递归,使用下面的循环将所有的路径获取出来。

dirpath 遍历到当前位置的路径。

dirnames 当前位置下有多少目录,是一个列表。

filenames 当前目录下有哪些文件名,是一个列表。

下面我们用一串代码,帮助我们理解一下这个函数。

代码语言:javascript
复制
import os

inputPath = input("请输入要搜索的路径:")
pattern = input("请输入要搜索的关键词:")

# os.walk 只需要简单的循环就可以完成递归遍历的过程,就不必手写递归代码了

# dirpath 遍历到当前位置的路径
# dirnames 当前位置下有多少目录,成为一个列表
# filenames 当前目录下有哪些文件名,成为一个列表

# os.walk 每次调用都能自动的对子目录进行递归,使用下面的循环将所有的路径获取出来

for dirpath,dirnames,filenames in  os.walk(inputPath):
      print("---------------------------------------")
      print(f"dirpath = {dirpath}")
      print("dirnames:")
      for name in dirnames:
         print(name)
      print("filenames:")
      for name in filenames:
         print(name)

 效果如下:

上面就是我们遍历的结果了。

接下来我们具体实现我们的代码。

代码语言:javascript
复制
import os

inputPath = input("请输入要搜索的路径:")
pattern = input("请输入要搜索的关键词:")

# os.walk 只需要简单的循环就可以完成递归遍历的过程,就不必手写递归代码了

# dirpath 遍历到当前位置的路径
# dirnames 当前位置下有多少目录,成为一个列表
# filenames 当前目录下有哪些文件名,成为一个列表

# os.walk 每次调用都能自动的对子目录进行递归,使用下面的循环将所有的路径获取出来

for dirpath,dirnames,filenames in  os.walk(inputPath):
     # print("---------------------------------------")
     # print(f"dirpath = {dirpath}")
     # print("dirnames:")
     # for name in dirnames:
     #    print(name)
     # print("filenames:")
     # for name in filenames:
     #    print(name)

     for f in filenames:
         if pattern in f:
             print(f"{dirpath}/{f}")

查到到我们的路径和文件进行输出。 

很快我们就查找到我们的文件了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-12-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 原理以及预期效果:
  • 运用的模块函数:
  • 代码实现:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档