鱼C论坛

 找回密码
 立即注册
查看: 1829|回复: 4

[已解决]文件系统课后作业30-2,权限访问

[复制链接]
发表于 2021-2-20 23:35:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
输入文件名以及开始搜索的路径,搜索该文件是否存在.py
输入路径:D:  
输入文件名:16-1.py
D:\learn\新版教学视频小甲鱼\1.21\16-1.py
Traceback (most recent call last):
  File "d:/learn/新版教学视频小甲鱼/30文件系统.py/用户输入文件名以及开始搜索的路径,搜索该文件是否存在.py", line 30, in <module>   
    search_file(road, name)
  File "d:/learn/新版教学视频小甲鱼/30文件系统.py/用户输入文件名以及开始搜索的路径,搜索该文件是否存在.py", line 26, in search_file
    search_file(i, target)
  File "d:/learn/新版教学视频小甲鱼/30文件系统.py/用户输入文件名以及开始搜索的路径,搜索该文件是否存在.py", line 20, in search_file
    f = os.chdir(way)
PermissionError: [WinError 5] 拒绝访问。: 'System Volume Information'


import os
road = input('输入路径:')
name = input('输入文件名:')


def search_file(way, target):
    f = os.chdir(way)

    for i in os.listdir(f):
        if i == target:
            print(os.getcwd() + os.sep + target)
        if os.path.isdir(i):
            search_file(i, target)
            os.chdir(os.pardir)


search_file(road, name)

答案是出来了,但是出现了许可错误,这是为啥啊,大佬们,

最佳答案
2021-2-20 23:50:14
不要输入硬盘根目录就行了,因为有些目录包括隐藏目录,用户是没有权限访问的,遇到这些目录就报错了。
要不然你的代码中加入try...except...捕获异常来忽略这些目录也可以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-2-20 23:43:39 | 显示全部楼层
课后的标准答案也出现了同样的问题,是不是python更新后的问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-20 23:50:14 | 显示全部楼层    本楼为最佳答案   
不要输入硬盘根目录就行了,因为有些目录包括隐藏目录,用户是没有权限访问的,遇到这些目录就报错了。
要不然你的代码中加入try...except...捕获异常来忽略这些目录也可以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-20 23:53:58 | 显示全部楼层
hrp 发表于 2021-2-20 23:50
不要输入硬盘根目录就行了,因为有些目录包括隐藏目录,用户是没有权限访问的,遇到这些目录就报错了。
要 ...

ok了,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-20 23:54:27 | 显示全部楼层

如你所说就可以了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-16 10:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表