Skip to content

Knighthood2001/Python-tree2proj

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tree2proj

tree2proj 是一个用于根据 JSON 格式的目录树结构,自动生成对应的文件夹和文件 的 Python 工具。它依赖 tree2json 包,将项目结构从类似 tree 命令的文本解析为 JSON 后,再由本工具落地为真实的项目结构。


✨ 功能亮点

  • 根据目录树结构生成完整项目目录
  • 支持命令行(CLI)快速构建项目骨架

📦 安装方法

确保 Python ≥ 3.7,先安装 tree2proj

pip install tree2proj

🧰 用法说明

✅ 方式 1:Python 调用

  1. 分开使用 tree2jsontree2proj
from tree2json import Tree2Json
from tree2proj import ProjBuilder

tree_str = """
bbb
├── 5个创新模块.pdf
├── AIproject
|  ├── mnist.zip
|  └── 论文
├── bihui_pic
|  └── ccccz
├── Blender 4.3.lnk
├── 钉钉.lnk
└── 飞书.lnk
"""

parser = Tree2Json()
parser.from_string(tree_str)

builder = ProjBuilder(parser.to_dict())
builder.create_fs()

此时就会先在目录下创建bbb根目录,然后在其中创建文件和文件夹。


  1. 直接一步到位
from tree2proj import ProjBuilder

tree_str = """
my_project
├── README.md
├── src
│   └── main.py
└── data
    └── sample.txt
"""

ProjBuilder.build_from_tree_str(tree_str)

✅ 方式 2:命令行使用(CLI)

  1. 直接使用
tree2proj

这会自动读取剪切板中的目录树文本(如果不是,会报错),并生成对应的项目结构。

  1. 从 JSON 文件生成项目结构
tree2proj path/to/tree.json --output /path/to/output/dir

注意:

  • 这里不一定需要是json文件,txt等文件类型也可以,只需要确保文件内容能够完整转化成json格式即可。
  • 如果不指定输出目录,则默认在当前目录下创建项目结构。
  • 如果指定了输出目录,那么会在该目录下创建项目结构,且不会创建目录树下的根目录。

🧩 依赖项

  • tree2json ≥ 0.1.3

📝 许可协议

本项目遵循 MIT 开源许可证。欢迎自由使用与修改。


📬 联系作者

作者:@knighthood

欢迎提 Issue、PR 或交流建议!

版本

v0.1.0

  • 发布最基础版本
  • 能够实现windows下使用命令行实现创建项目目录
  • 添加读取剪切板的功能

v0.1.1

  • 使用build_from_tree替代build_from_tree_str
  • 完善相关文档

About

Python库-tree2json

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages