我正在寻求有关在 Python 中表示没有符号链接的文件目录的优雅设计的建议,我可以在其中查询“属于”方面的关系(例如 G 是 /A/B/C 的子目录)。我目前的想法是朝着这个方向发展:
给定一个根路径,我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 等进行搜索会产生许多不同的方法。我发现没有一个似乎利用了给定目录结构的自然边界。
任何关于讨论、博客条目和代码的想法和指针都值得赞赏。