0
0 комментариев

Всем привет, нужна помощь. Python v 3.7, windows 7. У меня есть корневая папка, в которой есть множество папок с разными названиями, в некоторых этих папках внутри находится файл config.ini. Моя задача на выходе получить список названий папок, в которых присутствует config.ini.

# name = config.ini
# path = C:\Users\oleg\PycharmProjects\testProject - корневая папка, внутри которой и находятся все подпапки
def find_all(name, path):
    result = []
    for root, dirs, files in os.walk(path):
        if name in files:
            result.append(os.path.join(root, name))
    return result

При помощи вот этой функции я получаю список ПОЛНЫХ ПУТЕЙ к файлам config.ini. Сейчас я вытаскиваю из этих путей названия папок при помощи регулярного выражения, но меня не покидает чувство, что это решение не оптимально и я выполняю лишнюю работу. Есть ли более оптимальный способ? Возможно, есть функция вроде get_dir_one_lvl_above или нечто подобное? Заранее прошу прощения, если я где-то туплю, я только начал учить pyhton.

Спасибо 🙂

Решенный вопрос
Добавить комментарий