扫描一个目录,生成 Markdown 格式的目录树。用于给项目 README、笔记、文档自动附上一份结构清单。
本项目零依赖,不需要安装。两种运行方式:
# 方式一:启动脚本(推荐,免安装、免联网)
./treegen.sh . # Git Bash / Linux / macOS
treegen.cmd . # Windows cmd / PowerShell
# 方式二:模块入口
python -m treegen.cli .只有在已装 setuptools 且能访问 PyPI 时,才可以用 pip install -e . 装成全局命令。
treegen [path] [-o OUTPUT] [-d MAX_DEPTH] [--version]| 参数 | 说明 | 默认 |
|---|---|---|
path |
要扫描的目录 | . |
-o, --output |
写入文件,而不是打印到标准输出 | 打印 |
-d, --max-depth |
最大递归深度 | 不限 |
--version |
显示版本号 | — |
treegen . -d 1输出是一棵 Markdown 目录树:目录排在文件前面,每层缩进 4 个空格,根目录名在第一行。
<根目录名>/
<子目录>/
<文件>
<文件>
上面是形状示意,不是真实输出——它不引用任何具体文件,所以永远不会过期。 完整输出见
TREE.md(本仓库自己的目录树),或者直接跑一遍。
本仓库的 TREE.md 由 treegen . -d 2 生成,只覆盖前两层。深度超过 2 的文件不在里面——这是 -d 2 的定义,不是漂移。
所以请把 TREE.md 当「前两层概览」用,不要当「完整清单」用。 需要完整结构时,直接跑:
./treegen.sh ..git、.hg、.svn、__pycache__、.pytest_cache、.mypy_cache、.ruff_cache、
.venv、venv、node_modules、dist、build、.DS_Store、.ccgui
本项目零运行时依赖,测试用标准库 unittest:
python -m unittest discover -s tests -v