Я ищу совет по Элегантный дизайн для представления каталога файлов без символических ссылок в Python, где я могу запросить отношения в терминах «принадлежит» (например, G является подкаталог/A/B/C). Мое нынешнее мышление идет в этом направлении:Ищем элегантный дизайн представления данных для дерева каталогов
Путь к корню I os.path.walk() сверху вниз. Два класса представляют типы узлов, которые меня интересуют, и я отслеживаю родительские дочерние отношения.
class ADir(object):
def __init_(self, name, parent=None):
self.name = name
self.parent = parent
self.children = []
def add_child(self, id):
self.children.append(id)
class AFile(object):
def __init_(self, name, parent=None):
self.name = name
self.parent = parent
я бы повторно осуществить проверку для существующих каталогов, функций, которые дают мне позицию каталог/файл и т.д. Это все начинает чувствовать себя очень похож на переопределённом существующие, общие алгоритмы дерева.
Траулинг-лоток StackExchange, Google и т. Д. Дает множество различных подходов. Ничто из того, что я нашел, похоже, не использует естественные границы, заданные структурой каталогов.
Любые мысли и указатели на обсуждения, записи в блогах и код оцениваются.
Что вам кажется разумным. Я не уверен, в чем вопрос. Возможно, если вы объясните, что вы пытаетесь выполнить ... –
Суть моего вопроса в том, что я пытаюсь изобрести колесо при сопоставлении структуры каталога файлов с моделью данных в Python. Исходная спецификация предложила перевести структуру каталогов в XML и обработать запросы с помощью _lxml.etree_. Кажется, излишний и неуклюжий для меня, тем более, что я не могу прикрепить «полезную нагрузку» (операции над набором файлов) элегантно. Может быть, это объясняет немного лучше, что на фоне моего довольно широкого вопроса. – Axial