马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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
|