У меня есть следующий код, но он пересекает 1-й каталог, который он находит и останавливается. Я чувствую, что у меня есть рекурсивная функция, которая должна была дать и другие каталоги. Может кто-нибудь указать, что не так с этим кодом.Код Python для рекурсии для печати каталогов
def func(path,no):
no=no+2
for item in os.listdir(path):
if os.path.isfile(path+"\\"+item):
print no * "-" + " " + item
if os.path.isdir(path+"\\"+item):
path=path + "\\" + item
print no * "-" + " " + item
func(path,no)
path="D:\\Hello"
no=0
func(pah,no)
ВЫВОД:
-- 1.txt
-- 2.txt
-- 3.txt
-- blue
---- 33.txt
---- 45.txt
---- 56.txt
---- Tere
"синий" & "Tere" являются каталоги. В папке «HELLO» есть больше каталогов, которые не печатаются.
Мой код должен также печатали каталоги? Можете ли вы рассказать мне, в чем проблема? –
@VinodK Проверьте ответ Литей. Вы изменяете переменную пути, а затем прыгаете глубже в рекурсию. Когда вы возвращаетесь с этого вызова, путь изменяется, а остальная часть цикла for больше не имеет смысла. –