Python "listdir" против командной строки "dir" или "ls"

На сетевом диске с большим набором данных мне нужно найти набор каталогов, относящихся к проекту, над которым я работаю. Интересующие данные находятся в общем пути "dir\subdir\subsubdir". В данном поддиректории список каталогов длинный и неизвестный, поэтому для их перебора я планировал использовать python os.listdir('dir/subdir') функция. Есть три dir-ов, которые нужно перебрать, в каждом есть два subdir-а (имена одинаковы для всех трех dir-ов). Моя проблема в том, что с кодом:

import os
for tree in ['dir_a','dir_b','dir_c']:
  for branch in ['subdir_a','subdir_b']:
    filelist = os.listdir(tree+'/'+branch)

Для ОДНОЙ из шести возможных пар dir-subdir я получаю ошибку

WindowsError: [Error 1392] The file or directory is corrupted and unreadable: 'dir_c\\subdir_b\\*.*'

Однако можно [1] просмотреть этот путь в проводнике файлов, [2] успешно использовать функцию listdir в dir_c\subdir_b\subsubdir_* для любого каталога в dir_c \ subdir_b и [3] получить список каталогов в dir_c \ subdir_b через listdir в командной строке.

Вопрос: почему python os.listdir() сообщает мне, что каталог не читается, когда через Windows можно прочитать каталог?

0 ответов

Другие вопросы по тегам