Windows 7 如何解决python脚本中的系统权限错误?

Windows 7 如何解决python脚本中的系统权限错误?,windows-7,python-3.3,Windows 7,Python 3.3,我有这个简单的python脚本 def scanFolder(path="."): foldersList = [] for name in os.listdir(path): if os.path.isdir(name): for innerName in os.listdir(name): if os.path.isdir(innerName): foldersLI

我有这个简单的python脚本

def scanFolder(path="."):
    foldersList = []
    for name in os.listdir(path):
        if os.path.isdir(name):
            for innerName in os.listdir(name):
                if os.path.isdir(innerName):
                    foldersLIst.append(innerName)
运行此脚本时,我收到以下错误消息:

Traceback (most recent call last):
  File "upNew.py", line 42, in <module>
  File "upNew.py", line 18, in __init__
    scanFolder(path=".")
  File "upNew.py", line 24, in scanFolder
    for innerName in os.listdir(name):
PermissionError: [WinError 5] Access is denied: 'System Volume Information\\*.*'
回溯(最近一次呼叫最后一次):
文件“upNew.py”,第42行,在
文件“upNew.py”,第18行,在_init中__
扫描文件夹(路径=“.”)
文件“upNew.py”,第24行,在scanFolder中
对于os.listdir(名称)中的innerName:
PermissionError:[WinError 5]访问被拒绝:“系统卷信息\\*.*”

我怎样才能解决这个问题?我在Windows 7上,使用的是python 3.3。默认情况下,Windows包含一些针对任何普通用户(包括管理员)进行保护的目录。除非您请求Windows授予访问这些目录的权限,否则您无法(使用任何程序)检查这些目录

因此,您可能只想完全跳过目录:

try:
    dirs = os.listdir(name)
except PermissionError:
    print("Permission denied:", name)
    continue
for innerName in dirs:
    ...

啊,新的异常层次结构!说
除了PermissionError
比说
除了IOError作为e:if e.errno!=…:raise
容易得多。