2016-03-24 8 views
2

В Python я хочу просмотреть список всех каталогов в корневом каталоге и распечатать номер каталога вместе с каталогом. Затем я хочу распечатать файлы в этом каталоге.Python: os.walk() с перечислением

Код будет что-то вроде:

for subdir, dirs, files in os.walk(root_dir): 
    print "Directory " + str(dir_num) + " = " subdir 
    for (file_num, file) in enumrate(files): 
     print "File " + str(file_num) + " = " file 

Но как я могу получить значение dir_num, то есть номер каталога в корневом каталоге? Я знаю, как это сделать, чтобы напечатать номер файла, используя enumerate(), но я не уверен в том, как применить это к os.walk() ...

ответ

4

Вы все еще можете использовать enumerate():

for dirnum, (subdir, dirs, files) in enumerate(os.walk(root_dir)): 

Вам нужно круглые скобки вокруг subdir, dirs, files, потому что enumerate() вернет только два элемента: индекс и кортеж subdir, dirs, files.

Смежные вопросы