Часто в работе с файлами и каталогами на языке программирования Python возникает необходимость получить список всех подкаталогов в текущем каталоге. Это может быть полезно, например, при обходе директорий для анализа или обработки файлов. В Python есть несколько способов решения этой задачи.
Использование модуля os
Один из наиболее простых способов — использовать встроенный в Python модуль os
. В этом модуле есть функция listdir()
, которая возвращает список всех файлов и подкаталогов в указанной директории. Вместе с другой функцией этого модуля os.path.isdir()
, которая проверяет, является ли указанный путь директорией, можно получить список всех подкаталогов в текущем каталоге.
Пример кода, который это делает, выглядит так:
import os def get_subdirectories(directory): return [name for name in os.listdir(directory) if os.path.isdir(os.path.join(directory, name))] print(get_subdirectories('.'))
В этом коде функция get_subdirectories()
принимает в качестве аргумента путь к каталогу и возвращает список всех его подкаталогов.
Использование модуля glob
Еще один способ получить список подкаталогов — использовать модуль glob
, который также входит в стандартную библиотеку Python. Этот модуль предоставляет функцию glob()
, которая позволяет использовать шаблоны для поиска файлов и каталогов.
Пример использования этого модуля выглядит так:
import glob def get_subdirectories(directory): return [name for name in glob.glob(directory + '/*/')] print(get_subdirectories('.'))
Здесь функция get_subdirectories()
также принимает в качестве аргумента путь к каталогу и возвращает список всех его подкаталогов. В этом случае для поиска подкаталогов используется шаблон '/*/'
, который соответствует любому подкаталогу в указанном каталоге.
Оба этих способа позволяют получить список подкаталогов в указанном каталоге. Выбор между ними зависит от конкретной задачи и предпочтений программиста.
Добавить комментарий