Уведомления

Группа в Telegram: @pythonsu

#1 Июль 6, 2016 15:18:51

kommi_gaunt
Зарегистрирован: 2016-07-06
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Несложная задача о файловой системе

Здравствуйте
Требуется создать алгоритм, который проходит по директориям с определенным названием и проверяет наличие в них нужного файла(точнее другого директория)
Посоветуйте, где можно почитать про способы реализации подобных задач. Пока везде, где смотрел, рассказывалось лишь про работу с конкретным файлом…)
Возможно уже есть какой-то код, выполняющий эту задачу, хотелось бы с ним ознакомиться, чтобы велосипед не изобретать

Офлайн

#2 Июль 6, 2016 15:44:56

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Несложная задача о файловой системе

Вам понадобиться os (функция walk) и os.path для работы с путями, там же есть проверки для файлов на наличие и на директории
модуль fnmatch и/или glob чтобы “с определенным названием” проходить



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Июль 6, 2016 16:17:08

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Несложная задача о файловой системе

А на какой ос нужна реализация? или кроссплатформенная нужна?



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#4 Июль 6, 2016 16:19:00

kommi_gaunt
Зарегистрирован: 2016-07-06
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Несложная задача о файловой системе

Нужно под Windows

Офлайн

#5 Июль 7, 2016 08:28:56

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Несложная задача о файловой системе

# -*- 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



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#6 Июль 7, 2016 12:59:59

kommi_gaunt
Зарегистрирован: 2016-07-06
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Несложная задача о файловой системе

Не могли бы Вы прокомментировать, как именно будет работать данный алгоритм?
Части кода знакомые, но вот общая картина непонятна…

Офлайн

#7 Июль 8, 2016 12:59:23

kommi_gaunt
Зарегистрирован: 2016-07-06
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Несложная задача о файловой системе

Так, я вроде разобрался
Но есть один непонятный момент
Каким образом можно определить существование директория?
То есть как “пройти” по всем я вроде понял, а как выделить тот, что с нужным названием?
Заранее благодарен)

Офлайн

#8 Июль 11, 2016 15:02:32

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Несложная задача о файловой системе

Так а что не понятного то? Вы вводите начальный путь где и скать и имя файла которое искать надо !
А дальше оно заполняет список путями где етот файлик есть! Все вроде максимально просто.



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version