Convert tree-style text structure into JSON format
Project description
tree2json
将树形目录结构转换为结构化的 JSON 格式。
tree2json 是一个轻量级 Python 工具,用于解析目录树格式的文本(例如 tree 命令的输出或自定义目录结构字符串),并将其转换为层次化的 JSON 结构,适用于可视化、自动化或结构分析任务。
📦 安装
从 PyPI 安装:
pip install tree2json
或克隆本地进行开发使用:
```bash
git clone https://github.com/Knighthood2001/tree2json.git
cd tree2json
pip install -e .
🧩 功能特色
- 支持解析纯文本目录树结构
- 支持多级嵌套的文件和文件夹
- 输出结构化 JSON,包含完整目录层级信息
🚀 快速使用
Python 示例
from tree2json import Tree2Json
tree_str = """
.
├── data
│ ├── data.zip
│ └── results
├── README.md
└── utils
├── denoise.py
└── transforms.py
"""
converter = Tree2Json()
converter.from_string(tree_str)
json_str = converter.to_json_file("output.json") # 保存文件并返回字符串
输出示例
{
"level": 0,
"type": "dir",
"name": ".",
"description": "",
"child": [
{
"level": 1,
"type": "dir",
"name": "data",
"description": "",
"child": [
{
"level": 2,
"type": "file",
"name": "data.zip",
"description": "",
"child": []
},
{
"level": 2,
"type": "dir",
"name": "results",
"description": "",
"child": []
}
]
},
{
"level": 1,
"type": "file",
"name": "README.md",
"description": "",
"child": []
},
{
"level": 1,
"type": "dir",
"name": "utils",
"description": "",
"child": [
{
"level": 2,
"type": "file",
"name": "denoise.py",
"description": "",
"child": []
},
{
"level": 2,
"type": "file",
"name": "transforms.py",
"description": "",
"child": []
}
]
}
]
}
🔧 API 接口说明
Tree2Json(mode="auto")
mode:缩进识别模式(auto|step3|step4)
.from_string(tree_str)
从树状字符串中解析目录结构。
.to_dict()
以 Python 字典形式返回目录结构。
.to_json_file(path=None)
将结构保存为 JSON 文件(可选)。始终返回 JSON 字符串。
📄 许可证
本项目使用 MIT 开源许可证。
💬 问题反馈 & 贡献
欢迎在 issue 页面 提出问题或提交 PR!
版本
v0.1.0
- 初始版本
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
tree2json-0.1.0.tar.gz
(4.1 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tree2json-0.1.0.tar.gz.
File metadata
- Download URL: tree2json-0.1.0.tar.gz
- Upload date:
- Size: 4.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
333a54152fbbbbcf6be9b1b6c0038e72d3ff592f378ab6378116d0d29ae1065d
|
|
| MD5 |
3edce0eb64b33601b7349836702cfb92
|
|
| BLAKE2b-256 |
ea597a17234cd6be3f232891cf632dc3143803e50c68e7b626a28bd15cede278
|
File details
Details for the file tree2json-0.1.0-py3-none-any.whl.
File metadata
- Download URL: tree2json-0.1.0-py3-none-any.whl
- Upload date:
- Size: 4.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d03b4750b2222bb3daa78c3bc285ee764d6009a743339333df3c3794f50352e0
|
|
| MD5 |
568f31d01d733b257fa30984a1b386ab
|
|
| BLAKE2b-256 |
8a02182a0bda39681625712c433f5d375e229727b6ba0ea118b89780408ccd1f
|