1. 假设文件路径为 /bin/python 文件第一个路径一定是根目录 ‘/’
下面将以添加目录、查看当前目录下的所有目录、切换目录三个功能来简单到不能再简单的模拟文件系统
2. 创建目录 传进来的目录名必须以‘/’结尾 连接目录和下一级目录
3. 查看当前目录下的所有目录 就是查看当前目录的所有下一级目录
4. 切换目录 遍历根目录的下一级目录 找到就切换
代码
class Node: def __init__(self,name,type dir ): self.name name self.type type #文件类型 self.children [] self.parent None def __repr__(self): return self.name class FileSystemtree: def __init__(self): self.root Node( / ) #根节点为根目录 self.now self.root #当前目录 #创建目录 def mkdir(self,name): #name以/结尾 if name[-1]! / : name / node Node(name) self.now.children.append(node) #给当前目录加一个孩子node node.parent self.now #孩子的父母是当前目录 #展示当前目录下的所有目录 def ls(self): return self.now.children #切换目录 def cd(self,name): if name[-1]! / : name / # ../ 返回上级目录 if name ../ : self.now self.now.parent return for child in self.now.children: if child.name name: self.now child return raise ValueError( invalid dir )


![[数据结构] python 树的实例:模拟文件系统 [数据结构] python 树的实例:模拟文件系统](http://www.mshxw.com/aiimages/31/266829.png)
