python30课第2题 权限错误
使用下面这个代码对单个文件夹运行的时候没有问题。但对整个盘符进行搜索的时候就出现权限错误
请输入你要查找的初始目录:F:
Traceback (most recent call last):
File "E:\00_坚果云同步文件\00_Personal\00_Python\030\动动手2.py", line 24, in <module>
search(start_dir,target)
File "E:\00_坚果云同步文件\00_Personal\00_Python\030\动动手2.py", line 12, in search
search(each_file,target)
File "E:\00_坚果云同步文件\00_Personal\00_Python\030\动动手2.py", line 6, in search
os.chdir(start_dir)
PermissionError: 拒绝访问。: 'System Volume Information'
>>>
在17年的帖子中找到答案,是因为权限问题。。。
https://fishc.com.cn/thread-90823-1-1.html
但我就是administrator 管理员权限。。还是一样错误。。
求解答。。
PS: 我查找的是我的移动硬盘。。 不知道是不是移动硬盘的权限?
# 定义搜索函数seach
def search(start_dir,target):
os.chdir(start_dir)
for each_file in os.listdir():
ext = os.path.splitext(each_file)
if ext in target:
vediolist.append(os.getcwd()+os.sep+each_file)
if os.path.isdir(each_file):
search(each_file,target)
os.chdir(os.pardir)
# 导入模块
import os
import os.path
start_dir = input("请输入你要查找的初始目录:")
target = [".avi",".rmvb",".mkv",".mpg",".wmv",".mp4"]
vediolist = []
search(start_dir,target)
f = open("vediolist.txt","w")
f.writelines(vediolist)
f.close()
由于有些文件夹 Python 是无权访问的,所以要加 try-except:
# 定义搜索函数seach
def search(start_dir,target):
try:
os.chdir(start_dir)
for each_file in os.listdir():
ext = os.path.splitext(each_file)
if ext in target:
vediolist.append(os.getcwd()+os.sep+each_file)
if os.path.isdir(each_file):
search(each_file,target)
os.chdir(os.pardir)
except:
pass
# 导入模块
import os
import os.path
start_dir = input("请输入你要查找的初始目录:")
target = [".avi",".rmvb",".mkv",".mpg",".wmv",".mp4"]
vediolist = []
search(start_dir,target)
f = open("vediolist.txt","w")
f.writelines(vediolist)
f.close() 本帖最后由 _荟桐_ 于 2020-3-22 14:28 编辑
要用管理员权限运行python
页:
[1]