新人必看:python自动化办公,开源项目的目录结构_开源项目

大家好,这里是程序员晚枫。 开源项目:​​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​​`:同样用自己昵称新建一个文件夹,在里面写一个对自己开发功能的调用,这一步必须有。

新人必看:python自动化办公,开源项目的目录结构_开源项目_02

用户的核心功能目录

其中用户会使用到的`​​核心代码​​`的文件夹有以下几个:

新人必看:python自动化办公,开源项目的目录结构_目录结构_03

这几个文件夹之间的关系,如下图所示。

  1. 用户有2种方式调用python-office这个库:
  • ①通过在代码里import office,
  • ②直接在cmd页面,运行`​​cli​​`包里的命令行(功能开发中)。
  1. `​​office​​​​库只提供API接口,核心功能类的实现在​​​​core​​​​文件夹进行开发,core中的通用工具类或者对第三方库的调用,在​​​​lib​​`里进行开发。它们之间之所以是层层调用的关系,是为了代码的解耦合,使代码逻辑更加清晰。

新人必看:python自动化办公,开源项目的目录结构_目录结构_04

开发人员用的目录

新人必看:python自动化办公,开源项目的目录结构_python_05

这部分目录是给开发人员使用的,和仅仅使用python-office这个库的用户无关。

  • `​​tests​​`:单元测试的库,自己可以选择使用unittest或者pytest,我目前主要使用了unittest;
  • `​​venv​​`:本项目的虚拟环境,按照惯例,该目录没有上传到git仓库,需要自行配置;
  • `​​script​​`:目前主要是打包工具、发布工具,;
  • `​​docs​​`:存放有关项目的说明文档。

写在最后

通过最近一段时间的开发我发现,参与开源项目的建设,可以快速提高自己的编程能力。 期待更多大神,参与到本项目的开发中~

如有任何疑问或建议,请大家在评论区和我交流❤