|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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)
结果是:
请输入待查找的初始目录:E:
请输入需要查找的目标文件:1.txt
E:\$RECYCLE.BIN\S-1-5-21-3151118806-1794296190-3618841347-1001\$RV6FDG0\1.txt
E:\\1.txt
E:\A\1.txt
Traceback (most recent call last):
File "F:\python作业\030\2智能搜索.py", line 15, in <module>
search_file(start_dir, target)
File "F:\python作业\030\2智能搜索.py", line 10, in search_file
search_file(each_file, target) # 递归调用
File "F:\python作业\030\2智能搜索.py", line 10, in search_file
search_file(each_file, target) # 递归调用
File "F:\python作业\030\2智能搜索.py", line 4, in search_file
os.chdir(start_dir)
PermissionError: [WinError 5] 拒绝访问。: 'ModifiableWindowsApps'
而且第一个的结果在我的e盘中找不到,包括隐藏文件夹
1.尽量不要从根目录开始查找,有些目录如回收站里面是没有权限访问的
2.可以用异常处理,将不能访问的剔除掉。
|
|