"""
文件搜索
基于输入的路径,搜索目标文件是否存在。
如果遇到文件夹,则进入文件夹继续搜索。
"""
# 导入os模块用于文件操作
import os
# 定义私有搜索函数,递归地在目录中搜索目标文件
def __search(cur_dir, result):
# 获取当前目录下的所有文件和子目录
files = os.listdir(cur_dir)
# 遍历每个文件或子目录
for file in files:
# 如果当前项是子目录,则递归调用自身
if os.path.isdir(file):
sub_dir = os.path.join(cur_dir, file)
__search(sub_dir, result)
else:
# 如果当前项是目标文件,则记录其路径并终止循环
if file == result['target']:
result['match'] = os.path.join(cur_dir, file)
break
# 定义公共搜索函数,初始化结果字典,并调用私有搜索函数
def search(begin, target):
# 初始化结果字典
result = {
'target': target,
'match': None,
}
# 设置当前工作目录为开始搜索的目录
os.chdir(begin)
# 获取当前工作目录的绝对路径
begin = os.getcwd()
# 调用私有搜索函数
__search(begin, result)
# 获取匹配到的目标文件路径
match = result['match']
# 打印目标文件的位置
print(f'目标文件位置:{match}')
# 从当前目录的上一级开始搜索名为'demo.py'的文件
search('..', 'demo.py')
文件搜索:基于输入的路径,搜索目标文件是否存在
未经允许不得转载:创想未来 » 文件搜索:基于输入的路径,搜索目标文件是否存在

创想未来
评论前必须登录!
注册