python命令行工具之Click】的更多相关文章

作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Article 一.前言 在本系列前面几篇文章中,我们分别介绍了 argparse 和 docopt 的主要功能和用法.它们各具特色,都能出色地完成命令行任务.argparse 是面向过程的,需要先设置解析器,再定义参数,再解析命令行,最后实现业务逻辑.而 docopt 先用声明式的语法定义出参数,再过程式地解析命令…
先来介绍一把最基本的用法 import argparse parser = argparse.ArgumentParser() parser.parse_args() 在执行 parse_args() 之前,所有追加到命令行的参数都不会生效,生效了之后的默认情况类似于这样: 设置默认参数函数: import argparse parser = argparse.ArgumentParser() parser.add_argument("echo") args = parser.pars…
作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Article 一.前言 在本系列前面四篇文章中,我们介绍了 argparse 的方方面面.它无疑是强大的,但使用方式上略显麻烦.需要先设置解析器,再定义参数,再解析命令行,最后实现业务逻辑. 而今天要介绍的 docopt 则是站在一个全新的视角来审视命令行.你可曾想过,一个命令行程序的帮助信息其实已然包含了这个命令…
作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Article 一.前言 在第一篇"初探 docopt"的文章中,我们初步掌握了使用 docopt 的三个步骤,了解了它不同于 argparse 的设计思路. 那么 docopt 的使用模式都有哪些呢?其接口描述中都支持哪些语法规则呢?本文将带你深入了解 docopt. 本系列文章默认使用 Pyt…
argparse是一个常用的库函数,使用它的时候我们在命令行中不仅仅可以运行python文件,更可以零时调整参数,十分方便. 首先,如果你只是希望传一丢丢数据进去,那么只看下面两行就行了 import sys print("输入的参数为:%s" % sys.argv[1]) >python demo.py 1 输入的参数为:1 但是当要传很多的时候,还是接着往下看 基本用法,这是核心的两行: parser = argparse.ArgumentParser() parser.pa…
简介 A library for automatically generating command line interfaces. Python Fire is a library for automatically generating command line interfaces (CLIs) with a single line of code. It will turn any Python module, class, object, function, etc. (any Pyt…
目录 前言 安装 快速上手 参考文档 前言 按照官方的介绍:Click 是一个利用很少的代码以可组合的方式创造优雅命令行工具接口的 Python 库. 它是高度可配置的,但却有合理默认值的"命令行接口创建工具". 它致力于将创建命令行工具的过程变的快速而有趣,免除你因无法实现一个 CLI API 的挫败感. Click 的三个特性: 任意嵌套命令 自动生成帮助页面 支持在运行时延迟加载子命令 安装 直接从pypi中安装 pip install click 推荐大家使用豆瓣源 pip i…
作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Article 一.前言 在上两篇文章中,我们介绍了 click 中的"参数"和"选项",本文将继续深入了解 click,着重讲解它的"命令"和"组". 本系列文章默认使用 Python 3 作为解释器进行讲解. 若你仍在使用 Pytho…
click 是一个以尽可能少的代码.以组合的方式创建优美的命令行程序的 Python 包.它有很高的可配置性,同时也能开箱即用. 它旨在让编写命令行工具的过程既快速又有趣,还能防止由于无法实现预期的 CLI API 所产生挫败感.它有如下三个特点: 任意嵌套命令 自动生成帮助 支持运行时延迟加载子命令 1.业务逻辑 首先定义业务逻辑,是不是感觉到有些难以置信呢? 不论是 argparse 还是 docopt,业务逻辑都是被放在最后一步,但 click 却是放在第一步.细想想 click 的这种方…
关于Click? 说下 Click 模块是干啥的,简单说,它就是把我们的 Python 脚本的一些函数,通过 添加带有 Click 关键字的装饰器进行装饰进而将函数调用的形式转化为命令行传参的形式然后执行.听不懂也没关系,我们会一步一步来,基本上按照我的实际应用情况来写的. 本文不会涉及太多复杂的语法和理论,将会用通俗的语言和大家进行分享. 安装 python3 -m pip install click 一个简单的例子 首先我们创建一个demo.py import click #(1) @cli…