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

时间:2013-04-13 00:08:49

标签: 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):
                    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

1 个答案:

答案 0 :(得分:1)

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

所以,你可能只想完全跳过这些目录:

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