私はについてのアドバイスを求めています。のシンボリックリンクなしでファイルディレクトリを表現するための優雅なデザインがあります。/A/B/Cのサブディレクトリ)。私の現在の考え方は、この方向に向いています。ディレクトリツリーのデータ表現の優雅なデザインを求める
ルートパスが与えられています。os.path.walk()トップダウンです。 2つのクラスは私が興味を持っているノードタイプを表し、親子関係を追跡します。
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
私は私にそれはすべてが非常に多く、既存の、一般的なツリーアルゴリズムの再実装ように感じるように開始さなどのディレクトリ/ファイルの位置を与える機能、既存のディレクトリの再実装のチェックをしなければなりません。
Trawling Trough StackExchange、Googleなどは、さまざまなアプローチのホストをもたらします。私が見つけたものはどれも、ディレクトリ構造が与えられている自然な境界線を利用していないようです。
ディスカッション、ブログエントリ、およびコードへのあらゆる考えや指針は高く評価されます。
妥当と思われるもの私はその質問が何であるか分かりません。たぶん、あなたが達成しようとしていることを説明したら... –
Pythonのデータモデルにファイルディレクトリ構造をマッピングするときに、私が車輪を再発明しようとしているのが私の質問の要点です。元の仕様は、ディレクトリ構造をXMLに変換し、_lxml.etree_のようなものでクエリを処理することを提案しました。私は、特にペイロード(ファイルのセットに対する操作)をエレガントにつけることができないので、私には過酷で不器用なようです。たぶん、これは私のかなり広い質問に対する背景が何であるかを少し良く説明します。 – Axial