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

🏰 365平台拒绝提款怎么办 📅 2025-12-31 16:24:48 👤 admin 👁️ 1276 👑 572
用Pyhton实现一个简单的文件搜索工具

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

比如非常好用的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}")查到到我们的路径和文件进行输出。

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

皇家推荐

揭秘:Pinky这个英文名在中文里竟然是这个意思!
bt365最新网址

揭秘:Pinky这个英文名在中文里竟然是这个意思!

📅 08-28 👁️ 8532
酷乐视x6微型投影仪
bt365最新网址

酷乐视x6微型投影仪

📅 10-07 👁️ 5521
steam安装时发生错误 安装失败 无法安装的最新解决教程来了
365平台拒绝提款怎么办

steam安装时发生错误 安装失败 无法安装的最新解决教程来了

📅 08-17 👁️ 7118
[德莉莎]11th 血犹大 犹大 神恩使用对比
bt365最新网址

[德莉莎]11th 血犹大 犹大 神恩使用对比

📅 10-25 👁️ 6319
琼瑶女郎,一眼万年美,绝世审美难以超越
365bet哪个国家的

琼瑶女郎,一眼万年美,绝世审美难以超越

📅 12-29 👁️ 1284
怎么用系统自带的画图工具截图?
bt365最新网址

怎么用系统自带的画图工具截图?

📅 07-07 👁️ 685