0

我有这个简单的 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\\*.*'

我该如何解决这个问题?我在 Windows 7 上,使用 python 3.3

4

1 回答 1

2

默认情况下,Windows 包含一些受保护的目录,不受任何普通用户(包括管理员)的保护。除非您请求 Windows 允许访问它们,否则您无法(使用任何程序)检查这些目录。

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

try:
    dirs = os.listdir(name)
except PermissionError:
    print("Permission denied:", name)
    continue
for innerName in dirs:
    ...
于 2013-04-13T00:13:06.013 回答