|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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)
复制代码
这个是第三十讲的作业= =查不到解释。。。不过都附着有这么一句话
知道是对的= =。。但解释不清楚。。
删除这一行,出现的是这个
D:\System Volume Information\TEST.txt
跟我预想的。。也不一样。。为啥会出来系统卷标信息的。。。
一般盘下面都个有个System Volume Information无法访问的文件夹。要么获得权限删除;要么在代码中排除。
提供个简单的办法:
- import os
- def search_file(start_dir, target):
- if start_dir == "System Volume Information":
- return
- 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)
复制代码
|
|