python_aini 发表于 2021-2-20 23:35:12

文件系统课后作业30-2,权限访问

输入文件名以及开始搜索的路径,搜索该文件是否存在.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: 拒绝访问。: '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)

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

python_aini 发表于 2021-2-20 23:43:39

课后的标准答案也出现了同样的问题{:5_102:},是不是python更新后的问题

hrp 发表于 2021-2-20 23:50:14

不要输入硬盘根目录就行了,因为有些目录包括隐藏目录,用户是没有权限访问的,遇到这些目录就报错了。
要不然你的代码中加入try...except...捕获异常来忽略这些目录也可以

python_aini 发表于 2021-2-20 23:53:58

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

{:5_106:}ok了,

python_aini 发表于 2021-2-20 23:54:27

python_aini 发表于 2021-2-20 23:53
ok了,

如你所说就可以了
页: [1]
查看完整版本: 文件系统课后作业30-2,权限访问