大家好,这里是程序员晚枫。
开源项目:python-office 已经上线1个月了,功能一直在不断完善中。
python-office 是一个 Python 自动化办公第三方库,能解决大部分自动化办公的问题。而且每个功能只需一行代码,不需要小白用户学习 Python 知识,希望做到真正的开箱即用。
今天给大家详细介绍一下这个开源项目的目录结构,方便大家对该项目的理解和参与开发,也欢迎大家对目录结构给出自己的建议,目前的版本主要参考了几个流行框架的目录结构:pandas、flask、dash
。
功能持续更新中,提交你的功能需求/参与项目开发👉 Github
目录总览
文件夹 PATH 列表
卷序列号为 000000AB 0A45:16TS
D:\PYTHON-OFFICE
├─.idea
├─cli
├─contributors
│ └─demo
├─examples
├─core
├─docs
├─lib
│ ├─image
│ ├─pdf
│ ├─ppt
│ ├─tools
│ └─utils
├─office
├─script
├─tests
└─venv
该项目的源代码目录,目前包含:核心代码、PR文件夹、文档、单元测试、开发脚本、虚拟环境。
开源参与者的目录
开源项目的精髓,在于大家的集体创作。
因为我是第一次组织开源项目,而且项目初创,需要频繁变动主目录和代码,所以目前采取了一种比较保守的PR方式:
大家把自己的代码,在master分支上传到以自己昵称命名的文件夹后,由我来将大家的代码,加入上文介绍的核心功能目录中。
未来项目稳定了,会逐步更换为开辟develop分支,并且直接提交到核心目录的PR方式。
所以目前建立了2个文件夹:
contributors
:在这里,自己用昵称新建一个文件夹后,任意修改和提交。不要动别人文件夹下的项目即可。examples
:同样用自己昵称新建一个文件夹,在里面写一个对自己开发功能的调用,这一步必须有。
用户的核心功能目录
其中用户会使用到的核心代码
的文件夹有以下几个:
这几个文件夹之间的关系,如下图所示。
用户有2种方式调用python-office这个库:
- ①通过在代码里import office,
- ②直接在cmd页面,运行
cli
包里的命令行(功能开发中)。
office
库只提供API接口,核心功能类的实现在core
文件夹进行开发,core中的通用工具类或者对第三方库的调用,在lib
里进行开发。它们之间之所以是层层调用的关系,是为了代码的解耦合,使代码逻辑更加清晰。
开发人员用的目录
这部分目录是给开发人员使用的,和仅仅使用python-office这个库的用户无关。
tests
:单元测试的库,自己可以选择使用unittest或者pytest,我目前主要使用了unittest;venv
:本项目的虚拟环境,按照惯例,该目录没有上传到git仓库,需要自行配置;script
:目前主要是打包工具、发布工具,;docs
:存放有关项目的说明文档。
写在最后
通过最近一段时间的开发我发现,参与开源项目的建设,可以快速提高自己的编程能力。
期待更多大神,参与到本项目的开发中~
如有任何疑问或建议,请大家在评论区和我交流❤