|
|
50鱼币
本帖最后由 碗碗的泡菜坛 于 2016-1-17 10:36 编辑
程序:
用户输入文件名以及开始搜索的路径,搜索该文件是否存在。如遇到文件夹,则进入文件夹继续搜索
具体代码:
- 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)
复制代码
如果实际情况是这样:(文件夹1是我指定的搜索路径,文件夹1里的11.txt是我要搜索的目标文件,文件夹2~5都为空文件夹)
这个程序的实际运行流程是怎样的呢??求指点呀
|
最佳答案
查看完整内容
代码是这行执行玩了 才执行下一行
执行到search_file(each_file, target)时 就会进到search_file函数的开头在执行 后面的那个os.chdir(os.pardir)暂时没执行
从文件夹1到文件夹4都是这这样 到文件夹5时什么没有这个时候就没有递归调用自己了 文件夹5就开始退出了
就到文件夹4后面的 os.chdir(os.pardir)开始执行了 接着就是文件夹3 2 1
|