树状目录结构怎么做
做树状目录,树状核心就一件事:把层级关系用缩进和符号画出来。目录别想复杂了。结构我见过有人拿Visio画了半小时,树状结果还没我用文本编辑器敲三行清楚。目录
先看个最简单的结构例子。你电脑里随便找个项目文件夹,树状用命令行敲 tree /f(Windows)或者 find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'(Mac/Linux),目录出来的结构那种带竖线和横线的结构,就是树状树状目录。它的目录本质是父节点在上,子节点在下,结构同级左对齐,树状不同级缩进。目录
手写树状目录的结构三种土办法
第一种,纯字符。用 ├──、└──、│ 这些制表符拼。比如:
project/ ├── src/ │ ├── main.py │ └── utils.py ├── tests/ │ └── test_main.py └── README.md
这种写法在GitHub的README里特别常见。你注意看,└── 只用在每层最后一个子项,├── 用在中间项,竖线 │ 用来对齐父级。手动敲的时候容易对不齐,所以很多人用在线生成器,比如 tree.nathanfriend.io,粘贴路径就出图。
第二种,Markdown列表嵌套。用 - 加两个空格缩进:
- project - src - main.py - utils.py - tests - test_main.py - README.md
渲染出来自动带层级缩进和圆点。缺点是没法画竖线,看起来不够“树”。但胜在好写,适合写文档时快速列结构。
第三种,直接用工具生成。VS Code 装个 Project Tree 插件,右键文件夹就能复制树状文本。或者命令行 tree -L 2 -I "node_modules|.git" 控制深度和忽略目录。我习惯用 tree -a -I ".git" --dirsfirst,目录排前面,文件排后面,看着清爽。
画树状图时容易踩的坑
缩进用Tab还是空格?混用必乱。统一用2个或4个空格。制表符 │ 和空格宽度在不同字体下不一样,所以纯文本树状图在邮件或聊天工具里经常歪掉。解决办法:用等宽字体,或者直接贴截图。
层级太深怎么办?超过4层就考虑拆成多个小树。人眼对超过5级的缩进识别很吃力。我见过一个配置文件目录写了7层,最后一行缩进到屏幕外面去了。那种情况不如用扁平命名,比如 user_profile_edit.html 代替 user/profile/edit.html。
程序里怎么动态生成
写代码输出树状目录,递归是标准做法。Python示例:
def print_tree(path, prefix=""): items = sorted(os.listdir(path)) for i, item in enumerate(items): full = os.path.join(path, item) is_last = (i == len(items) - 1) print(prefix + ("└── " if is_last else "├── ") + item) if os.path.isdir(full): print_tree(full, prefix + (" " if is_last else "│ ")) 关键在 prefix 的传递:最后一个子项后面不加竖线,非最后一个加竖线。这个逻辑写错的话,树就会缺胳膊少腿。
最后说个观察:很多人把树状目录和思维导图搞混。思维导图是中心向外发散,树状目录是根在上、叶在下。方向反了,读起来就别扭。你要是做文件结构展示,老老实实用树状;要是做头脑风暴,用思维导图。别硬套。
本文地址:http://www.79wt.cn/news/1380f9299769.html
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。