Найти в Дзене

Многократно углублённый поиск всех папок или файлов с жёсткого диска

Перед ознакомлением стоит заранее изучить синтаксис языка Python и один из его встроенных модулей - os.

import os;

# Недоступные папки

refusedDir = ['Z:/$RECYCLE.BIN', 'Z:/found.000', 'Z:/System Volume Information']; # Вместо буквы Z может быть жёсткий диск с любой латинской буквой.

# Найденные папки

def listDir0(_0):

def listDir(i0):
i1 = [];
for i2 in i0:
for i3 in os.listdir(str(i2)):
i4 = i2 + '/' + i3;
if str(i4) not in refusedDir and os.path.isdir(str(i4)):
i1.append(str(i4));
return i1;

i1 = []; i0 = [listDir([_0])]; i1 = i1 + i0[0];

# 11-кратное углубление поиска содержимого папок
for i2 in range(11):
i0.append(listDir(i0[i2]));
i1 = i1 + listDir(i0[i2 + 1]);
return sorted(i1);

# Найденные файлы

def listDir1(_0):

def listDir_(_0):
i0 = [];
for i1 in _0:
for i2 in os.listdir(i1):
i3 = i1 + '/' + i2;
if str(i3) not in refusedDir and os.path.isfile(str(i3)):
i0.append(str(i3));
return i0;

return sorted(listDir_([_0]+listDir0(_0)));

# Пустые среди найденных папок

def listDir2(_0):
i0 = [];
for i in listDir0(_0):
if len(os.listdir(i)) == 0:
i0.append(i);
return sorted(i0);

for i in listDir0('Z:'): print(i); # Вывод примера первой функции.

Если возникли ошибки касаемо нечитабельности символов с названий папок или файлов, откройте папку по пути на последней строке и попробуйте переименовать путевую строку с ошибкой.