|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
琢磨了很久也看了一些分析贴可是还是很迷糊~
- import os
- def search_file(start_dir, target) :
- os.chdir(start_dir)
-
- for each_file in os.listdir(os.curdir) :
- if each_file == target :
- print(os.getcwd() + os.sep + each_file) # 使用os.sep是程序更标准
- if os.path.isdir(each_file) :
- search_file(each_file, target) # 递归调用
- os.chdir(os.pardir) # 递归调用后切记返回上一层目录
- start_dir = input('请输入待查找的初始目录:')
- target = input('请输入需要查找的目标文件:')
- search_file(start_dir, target)
复制代码
为啥返回上一级呢?
因为如果这一级找不到,你得返回上一级继续找,不能一个文件夹死到底。
如C:\BACKUP\Programe\Drive文件夹,一直钻到Drive文件夹里,但是没有目标文件怎么办?或者是个空文件夹怎么办?
这种情况就得返回上一级目录,在上一级目录中所有的同级目录中寻找,如果没有,再返回上一级。..
类推。
|
|