Что было бы хорошим способом получить рекурсивную функцию для создания списка для возврата? Скажем, у меня есть функция, как следующее для создания списка файлов и каталогов на все подкаталоги:Как сделать рекурсивную функцию, которая строит список
def print_directory_listing(directory = "."):
for file_structure in os.listdir(directory):
file_structure_path = os.path.join(directory, file_structure)
if os.path.isdir(file_structure_path):
print_directory_listing(file_structure_path)
else:
print(file_structure_path)
Вместо того, распечатав все, как я мог бы изменить это, чтобы вернуть список всех файлов и директорий ? Например, было бы хорошо иметь глобальный список, к которому функция добавляет файлы?
Обратите внимание, что я не запрашиваю подробные сведения о os.walk
; Я задаю общий вопрос о том, каким путинским способом было бы получить рекурсивную функцию для построения и возврата списка.
Почему вы не используете 'os.walk()', который именно для этой цели? – Kasramvd
@ Kasramvd Почему вы не отвечаете вместо комментария, так как это определенно ответ? –
@ Loïc Потому что этот вопрос повторяется. – Kasramvd