kommi_gaunt
Июль 6, 2016 15:18:51
Здравствуйте
Требуется создать алгоритм, который проходит по директориям с определенным названием и проверяет наличие в них нужного файла(точнее другого директория)
Посоветуйте, где можно почитать про способы реализации подобных задач. Пока везде, где смотрел, рассказывалось лишь про работу с конкретным файлом…)
Возможно уже есть какой-то код, выполняющий эту задачу, хотелось бы с ним ознакомиться, чтобы велосипед не изобретать
JOHN_16
Июль 6, 2016 15:44:56
Вам понадобиться os (функция walk) и os.path для работы с путями, там же есть проверки для файлов на наличие и на директории
модуль fnmatch и/или glob чтобы “с определенным названием” проходить
ZerG
Июль 6, 2016 16:17:08
А на какой ос нужна реализация? или кроссплатформенная нужна?
kommi_gaunt
Июль 6, 2016 16:19:00
Нужно под Windows
ZerG
Июль 7, 2016 08:28:56
# -*- coding: utf-8 -*-
import os
cfiles = []
for root, dirs, files in os.walk('<path>'): # <path> = c:\windows
for file in files:
if file.endswith('file_name.txt'):
cfiles.append(os.path.join(root, file))
print cfiles
kommi_gaunt
Июль 7, 2016 12:59:59
Не могли бы Вы прокомментировать, как именно будет работать данный алгоритм?
Части кода знакомые, но вот общая картина непонятна…
kommi_gaunt
Июль 8, 2016 12:59:23
Так, я вроде разобрался
Но есть один непонятный момент
Каким образом можно определить существование директория?
То есть как “пройти” по всем я вроде понял, а как выделить тот, что с нужным названием?
Заранее благодарен)
ZerG
Июль 11, 2016 15:02:32
Так а что не понятного то? Вы вводите начальный путь где и скать и имя файла которое искать надо !
А дальше оно заполняет список путями где етот файлик есть! Все вроде максимально просто.