|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 fc5igm 于 2021-6-10 20:27 编辑
使用os.walk可以访问磁盘根目录,但是使用下面自定义函数的代码访问磁盘根目录则会显示权限相关的报错(对磁盘根目录下的子目录使用则没有问题)。
请问这是怎么回事?
- def search():
- import os
- index_path=input('请输入待查找的初始目录:')
- os.chdir(index_path)
- f=open('vedioList.txt','w')
- def open_file():
- for i in os.listdir():
- if os.path.splitext(i)[1] in ['.mp4','.rmvb','.avi']:
- f.writelines(str(os.getcwd())+os.sep+i+'\n')
- if os.path.isdir(i):
- os.chdir(i)
- open_file()
- os.chdir(os.pardir)
- open_file()
- f.close()
- search()
复制代码- ===================== RESTART: D:\python\works\特异性文件类型搜索.py ====================
- 请输入待查找的初始目录:D:\
- Traceback (most recent call last):
- File "D:\python\works\特异性文件类型搜索.py", line 16, in <module>
- search()
- File "D:\python\works\特异性文件类型搜索.py", line 14, in search
- open_file()
- File "D:\python\works\特异性文件类型搜索.py", line 12, in open_file
- open_file()
- File "D:\python\works\特异性文件类型搜索.py", line 11, in open_file
- os.chdir(i)
- PermissionError: [WinError 5] 拒绝访问。: 'S-1-5-18'
复制代码- >>> for root, dirs, files in os.walk('D:\\', topdown=True):
- for name in files:
- print(os.path.join(root, name))
- for name in dirs:
- print(os.path.join(root, name))
-
- D:\1234.txt
- D:\out.log
- D:\ReadMe.txt
- D:\$RECYCLE.BIN
- D:\30b1efe61c9c9b4684d312175e6563f1
- D:\Epic
- D:\Origin
- D:\Program Files
- D:\Program Files (x86)
- D:\PyCharm 2021.1.2
- D:\python
- D:\Riot Games
- D:\steam
- D:\System Volume Information
- D:\Unigame
- D:\WindowsApps
复制代码 |
|