Игнорировать «Информация о томе системы» в Python listdir - PullRequest
1 голос
/ 22 октября 2019

В настоящее время я пытаюсь получить все файлы на томе Windows, чтобы скопировать определенные файлы. Копирование, скажем, из папки в другую, работает нормально, но при попытке вызвать listdir, а затем перебрать найденные файлы тома, меня просто приветствует исключение в доступе для «System Volume Information».

Как я могу игнорировать / пропустить это в цикле?

Я использую рекурсивную функцию, вызывая ее в первый раз с корневым путем самого тома.

def list_all(path):
files = os.listdir(path)

for file in files:
    low_path = os.path.join(path, file)

    if os.path.isdir(low_path):
        list_all(low_path)
    else:
        # shutil.copy()

1 Ответ

0 голосов
/ 22 октября 2019

Вы можете добавить try/except блок

def list_all(path):
files = os.listdir(path)

try:
  files.remove("System Volume Information")
except:
  print("System Volume Information not present in this directory")


for file in files:
    low_path = os.path.join(path, file)

    if os.path.isdir(low_path):
        list_all(low_path)
    else:
        # shutil.copy()
...