前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >应用|递归批量创建文件夹的Python工具

应用|递归批量创建文件夹的Python工具

作者头像
琉璃康康
发布2023-09-01 11:26:09
2080
发布2023-09-01 11:26:09
举报
文章被收录于专栏:七禾页话
文件管理一直是电脑相关工作中容易被忽视但是却非常重要的事情,就如同线下的档案或者图书管理,有很好的逻辑结构,在索引和辨识度上都可以起到事半功倍的效果。

项目中需要存放各种各样的文件,分门别类,因此一个很好的文件夹结构就可以让这些文件更好的存放,也方便大家可以很快的找到。

最近的一个项目大概涉及到十几个产品,每个产品属于不同的部门,而且每个产品在不同的地方还要建设多个,就导致文件夹结构异常复杂,有的需要按照部门来创建,有的需要具体创建到每个需要建设的产品。

代码语言:javascript
复制
#左右滑动
rootFoler
    parentFolder1
        sonFolder1
            grandsonFolder1
        sonFolder2
    parentFolder2
        sonFolder2
        sonFolder3
            grandsonFolder1
            grandsonFolder2

因此创建文件夹的时候一个涉及到递归多层级创建。

Windows下需要一个一个创建,就是点点点,Linux下使用mkdir也需要罗列好各个文件夹的路径然后一条条的命令运行。

不管是效率还是耐心都是一种消耗。

所以就创建了这个recursive create folder的python小工具。

这个工具基于yaml,将folder的层级写到一个yaml文件后传递给脚本就可以创建好所有相关的文件夹了。

yaml的一个template如下,只需要定义各个文件夹的名字,然后每一个名字后以冒号“:”结尾,也就是每个文件夹的名字是yaml里的一个key,还有要注意层级缩进:

代码语言:javascript
复制
#左右滑动
rootFoler:
    parentFolder1:
        sonFolder1:
            grandsonFolder1:
        sonFolder2:
    parentFolder2:
        sonFolder2:
        sonFolder3:
            grandsonFolder1:
            grandsonFolder2:

运行非常简单,如下:

代码语言:javascript
复制
#左右滑动
$ ./foldergen.py template.yaml
Current Folder /home/user/
    Folder "rootFoler/parentFolder1/sonFolder1/grandsonFolder1" Create Successfully!
    Folder "rootFoler/parentFolder1/sonFolder2" Create Successfully!
    Folder "rootFoler/parentFolder2/sonFolder2" Create Successfully!
    Folder "rootFoler/parentFolder2/sonFolder3/grandsonFolder1" Create Successfully!
    Folder "rootFoler/parentFolder2/sonFolder3/grandsonFolder2" Create Successfully!

最终yaml里定义的文件夹名字都被创建,可以使用tree命令查看:

代码语言:javascript
复制
#左右滑动
$ tree ./rootFoler
./rootFoler
├── parentFolder1
│   ├── sonFolder1
│   │   └── grandsonFolder1
│   └── sonFolder2
└── parentFolder2
    ├── sonFolder2
    └── sonFolder3
        ├── grandsonFolder1
        └── grandsonFolder2

9 directories, 0 files

有的朋友可能会说,这个运行得在Linux环境下,我用的Windows没办法运行呀。

Windows下推荐开启WSL构建一个内嵌的Linux环境,如果开启WSL?移步Linux|二更WSL打造Windows下更顺畅的双系统

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-06-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 七禾页话 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档