[数据结构] python 树的实例:模拟文件系统

这篇博客通过Python模拟了文件系统,包括创建目录、查看当前目录下的子目录及切换目录等功能。以'/bin/python'为例,介绍了如何处理路径,并提供了简化的代码实现。作者指出,这只是对文件系统模拟的初步探索,还有更多深入的知识待挖掘。
摘要由CSDN通过智能技术生成

思路:

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             #孩子的父母是当前目录
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值