本作品采用 知识共享署名-非商业性使用 4.0 国际 (CC BY-NC 4.0) 协议授权。允许他人免费非商业性使用、改编和传播作品,但必须清晰标注原作者署名,且禁止任何商业用途(如销售、广告、盈利项目等),修改后的衍生作品也需遵循相同条款(署名+非商用),商业使用需额外获得授权。详见LICENSE文件。
TreeDocGen 是一个零依赖、即开即用的 Python 脚本,能递归扫描本地目录,自动生成目录树,并导出为 Markdown 或 TXT,方便整理和归档。
概述
TreeDocGen是一个零依赖、即开即用的 Python 脚本工具,专为需要快速梳理和归档本地文件夹结构的用户设计。它能够递归扫描指定根目录,自动生成清晰、直观的目录树结构,并支持导出为 Markdown 和 TXT 两种常用文档格式,方便后续整理、归档、分享或项目文档编写。
功能特性
- 递归扫描指定根目录,生成完整的目录树结构
- 支持导出为 Markdown(带代码块)和纯文本(TXT)两种格式
- 可选择导出到脚本目录和/或桌面
- 终端输出结构树和统计信息
- 统计各级目录数量、文件夹数、文件数
- 支持文件夹/文件图标显示
- 自动生成详细日志,便于排查问题
环境要求
- Python 3.6 及以上
- 仅依赖标准库,无需额外安装第三方包
快速开始
-
下载脚本 将
TreeDocGen.py放到任意目录。 -
配置参数 可直接编辑脚本顶部的
CONFIG字典,或运行时输入扫描目录。 -
运行脚本 在命令行中执行:
python TreeDocGen.py
若未在
CONFIG中指定root_dir,会提示输入要扫描的目录路径。
配置参数说明
在脚本顶部的 CONFIG 字典中集中管理所有参数:
| 参数名 | 说明 | 示例/默认值 |
|---|---|---|
| root_dir | 要扫描的根目录路径,留空则运行时输入 | r"D:\VS Code" |
| md_file | 导出的 Markdown 文件名 | "Structure_Tree.md" |
| txt_file | 导出的 TXT 文件名d | "Structure_Tree.txt" |
| print_to_terminal | 是否在终端打印结构树 | True |
| show_icons | 是否显示文件夹/文件图标 | True |
| folder_icon | 文件夹图标 | "📁" |
| file_icon | 文件图标 | "📄" |
| checked_icon | 统计信息前缀图标 | "✅" |
| export_to_script_dir | 是否导出到脚本所在目录 | True |
| export_to_desktop | 是否导出到桌面 | True |
输出说明
Markdown 文件内容示例:
✅ 共扫描到 27872 项,其中文件夹 4010 项,文件 23862 项
```tree
📁VS Code/
├─📁 Code
│ ├─📁 Backups
│ ├─📁 Cache
│ └─```
├─📁Extensions
│ ├─aaron-bond.better-comments-3.0.2
│ └─bradlc.vscode-tailwindcss-0.14.23
└─📁VS Code
├─📁 bin
├─📁 locales
└─```
```TXT 文件内容类似,但无代码块包裹。
- 结构树(如上)
- 统计信息:
✅ 共扫描到 10 项,其中文件夹 4 项,文件 6 项 - 导出路径提示:
结构树已导出MD和TXT文件于:C:\Users\xxx\Desktop
- 日志文件自动保存在
logs/目录下,文件名带时间戳 - 记录扫描、导出、异常等详细信息
常见问题
-
路径无效或权限不足
- 若输入的目录不存在或无权限,脚本会提示并记录日志,请检查路径是否正确。
-
导出失败
- 若导出目录不可写,脚本会输出错误并写入日志。
-
中文乱码
- 脚本默认使用 UTF-8 编码,确保终端和编辑器支持 UTF-8。
其他说明
- 支持多级目录,理论上无深度限制
- 统计信息包括总项数、文件夹数、文件数及各级目录数量
- 仅依赖标准库,跨平台兼容(Windows/Linux/Mac)
祝你使用愉快!如需进一步定制或遇到疑难,欢迎随时提问!