0

私が書いた小さなプログラム用の「ディレクトリ エクスプローラー」GUI の構築を開始し、Pathlib を使用したことがなかったので使用していました。残念ながら、ルートディレクトリを次のように繰り返し処理して、すぐに行き詰まりました。

import pathlib

current=pathlib.WindowsPath('/')
children=[child for child in current.iterdir() if child.is_dir()]
print(children)

「PermissionError: [WinError 5] アクセスが拒否されました: '\\Config.Msi'」という結果になります

ディレクトリであるかどうかを判断する前に、アクセス許可をテストするために path.stat() を使用してみましたが、そこまで到達することさえできないため、少し行き詰まっています。とにかく許可を得ることができないファイル/フォルダーは必要ないので、誰かがそうするための提案があれば、喜んでそれらを渡します.

前もって感謝します!

4

1 に答える 1

1

許可を求めるより許しを求めるほうが簡単なので、 Exceptionsを使用します。pathlibについては何も知りませんが、コードを少し分割すると、次のように動作するはずです

import pathlib

current=pathlib.WindowsPath('/')
children = []
for child in current.iterdir():
  try:
    if child.is_dir():
      children.append(child)
  except PermissionError:
    pass

print(children)
于 2015-01-18T21:34:01.640 に答える