Python 快速实现CLI 应用程序的脚手架

 更新时间:2017年12月05日 09:06:38   作者:马飞  
本篇文章主要介绍了Python 快速实现CLI 应用程序的脚手架,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

今天跟大家分享一下如何快速实现一个Python CLI应用程序的脚手架,之所以会做这个是因为当时需要做一个运维的小工具希望用命令行的方式来使用,但是搜遍网上很多资料都没有系统讲解从开发、集成、发布、文档等一系列流程的文章。

工程结构

如上图,这就是一个比较规范的Python CLI应用项目了,下面一一讲下各文件的用途:

项目文档

这里我们用Sphinx来实现文档的自动生成,当然你要首先通过markdown和rst文件定义好文档的内容,然后进入docs目录执行 make html命令就可以在_build目录下生成对应的静态文件,如下图:

具体Sphinx如何使用以及配置后面会单独文章讲解

主工程

这里讲几个需要注意的地方

1、日志的配置:

这里可以全局设置日志的一些输出级别和格式化方式

2、cli文件

这里通过click库来实现

3、二进制文件打包

如上图,有时候我们的工程中会包含二进制文件,也就是非Python代码的文件,这时候如果还是像往常一样打包发布,安装的时候会发现无法找到此文件,所以需要在根目录的MANIFEST.in文件中加入

脚本

如下图,这里的make-release文件主要是用来自动控制版本的,如下图,通过Git 的提交记录了来作为项目的唯一版本号标识,再对 init 文件进行重新写入达到持续集成时版本号自增的目的。

单元测试

test文件夹中存放的就是项目的单元测试文件了,这里就不细展开讲了,后面会具体讲讲如何跟Jenkins集成实现静态代码检查

setup

最重要的就是setup.py这个文件了,项目最后打包发布到pypi仓库主要的配置信息都在这里了,如下图:

这个脚手架的项目地址:https://github.com/logan62334/python-cli-template

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 3种python调用其他脚本的方法

    3种python调用其他脚本的方法

    这篇文章主要介绍了3种python调用其他脚本的方法,每种方法通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • Pytorch转tflite方式

    Pytorch转tflite方式

    这篇文章主要介绍了Pytorch转tflite方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • Python文件操作JSON CSV TSV Excel和Pickle文件序列化

    Python文件操作JSON CSV TSV Excel和Pickle文件序列化

    这篇文章主要为大家介绍了Python文件操作之JSON、CSV、TSV、Excel和Pickle文件序列化示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • Django 查询数据库返回JSON的实现

    Django 查询数据库返回JSON的实现

    和前端交互全部使用JSON,如何将数据库查询结果转换成JSON格式,本文就来介绍一下,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • Python判断两个list是否是父子集关系的实例

    Python判断两个list是否是父子集关系的实例

    今天小编就为大家分享一篇Python判断两个list是否是父子集关系的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Pandas实现groupby分组统计的实践

    Pandas实现groupby分组统计的实践

    本文主要介绍了Pandas实现groupby分组统计的实践,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • Python Scrapy框架第一个入门程序示例

    Python Scrapy框架第一个入门程序示例

    这篇文章主要介绍了Python Scrapy框架第一个入门程序,结合实例形式分析了Python Scrapy框架项目的搭建、抓取字段设置、数据库保存等相关操作技巧,需要的朋友可以参考下
    2020-02-02
  • Python利用Beautiful Soup模块创建对象详解

    Python利用Beautiful Soup模块创建对象详解

    这篇文章主要介绍了Python利用Beautiful Soup模块创建对象的相关资料,文中介绍的非常详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-03-03
  • Python Selenium中等待设置的实现

    Python Selenium中等待设置的实现

    本文主要介绍了Python Selenium中等待设置的实现,过详实的示例代码,深入介绍了显式等待、隐式等待、自定义等待条件、多重等待条件、页面加载状态的等待、元素存在与可见性等待、Fluent等待以及异步JavaScript加载的等待,感兴趣的可以了解一下
    2023-12-12
  • Python安装xarray库读取.nc文件的详细步骤

    Python安装xarray库读取.nc文件的详细步骤

    大家应该都知道库xarray可以帮我们读取出nc文件的内容,所以下面这篇文章主要给大家介绍了关于Python安装xarray读取.nc文件的详细步骤,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07

最新评论