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\\*.*'

どうすればこれを解決できますか? 私はPython 3.3を使用してWindows 7を使用しています

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 に答える