程序员晚枫

V1

2022/06/16阅读:21主题:嫩青

新人必看: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:同样用自己昵称新建一个文件夹,在里面写一个对自己开发功能的调用,这一步必须有。 开源建设的目录

用户的核心功能目录

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

核心代码目录
核心代码目录

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

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

开发人员用的目录

开发目录
开发目录

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

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

写在最后

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

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

分类:

后端

标签:

Python

作者介绍

程序员晚枫
V1