前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >​新人必看:python自动化办公,开源项目的目录结构

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

原创
作者头像
程序员晚枫
发布2022-06-16 20:57:50
5000
发布2022-06-16 20:57:50
举报
封面.jpg
封面.jpg

大家好,这里是程序员晚枫。

开源项目: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文件夹、文档、单元测试、开发脚本、虚拟环境。

目录结构.jpg
目录结构.jpg

开源参与者的目录

开源项目的精髓,在于大家的集体创作。

因为我是第一次组织开源项目,而且项目初创,需要频繁变动主目录和代码,所以目前采取了一种比较保守的PR方式:

大家把自己的代码,在master分支上传到以自己昵称命名的文件夹后,由我来将大家的代码,加入上文介绍的核心功能目录中。

未来项目稳定了,会逐步更换为开辟develop分支,并且直接提交到核心目录的PR方式。

所以目前建立了2个文件夹:

  • contributors:在这里,自己用昵称新建一个文件夹后,任意修改和提交。不要动别人文件夹下的项目即可。
  • examples:同样用自己昵称新建一个文件夹,在里面写一个对自己开发功能的调用,这一步必须有。
开源建设目录.jpg
开源建设目录.jpg

用户的核心功能目录

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

核心功能目录.jpg
核心功能目录.jpg

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

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

开发人员用的目录

开发目录.jpg
开发目录.jpg

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

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

写在最后

通过最近一段时间的开发我发现,参与开源项目的建设,可以快速提高自己的编程能力。

期待更多大神,参与到本项目的开发中~

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录总览
  • 开源参与者的目录
  • 用户的核心功能目录
  • 开发人员用的目录
  • 写在最后
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档