我是靠谱客的博主 香蕉棉花糖,最近开发中收集的这篇文章主要介绍python求助神器_python 命令行神器:Click (一),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

说到Python 命令行参数,我只会用 sys.argv,简单粗暴,适合我这种半吊子程序员写写垃圾程序,至于对别人是否友好,哪管得了那么多,反正又没脸开源。据说getopt模块也挺好用,但是作为我这种深得差不多先生思想精髓的人,既然差不多,我何必非得去用呢,程序不出错就是真理!

但是读 @xeroc 大神写的代码,我发现了一个好东西,那就是click,用来做命令行程序,简直堪比神器啊,太优雅了!好东西不敢独享,分享给大家。

安装

click 不是Python 自带的库,所以使用之前要先安装啦

安装指令如下:

pip install click

官网强烈推荐安装在virtualenv 环境下,我也推荐。

有关如何使用virtualenv,可以参考官网相关链接,这里就不再赘述啦。

说明

安装之后,我们来学学咋玩。

为了便于说明,我假装实现steem工具,支持投票以及转账。然后我慢慢加些选项和参数之类的。当然了,这是假装的,只是为了演示click的使用。

命令组

因为要实现好多功能,那么单纯的用一个指令带一堆选项或者参数的方式可能不够用,所以这里引用了命令组。

用@click.group()修饰的函数为命令组的入口,@click.command()修饰命令,用mysteem.add_command(add)类似这样的方式,将命令加入到命令组中。

现在一个命令行程序的框架搭起来啦,接下来我给大家演示一个神奇的功能

./mysteem.py --help

妈妈再也不用担心我写的程序没帮助啦!,程序自动生成了非常优雅的帮助。

Options 选项 (命令组)

下边我假装给这个STEEM工具加些选项啦。比如我们指定一下RPC Node

在这里我们用@click.option修饰命令组,这样我们可以在执行各项命令之前指定选项啦。

帮助依旧是自动生成的,太帅了

我们假装执行一下,先用默认值

./mysteem.py vote

输出如下:

再手动指定一下:

./mysteem.py --node https://mynode.com vote

输出如下:

除了修饰命令组,@click.option 还可以修饰命令

呸呸,举毛线数据库的例子,我编个啥选项好呢?愁死我了!

这样,自动加序号吧,就叫autoseq吧,大家别纠结数据库是否合理,我只是为了演示命令行,举了个不恰当的例子????

命令帮助

现在我们似乎搭好了程序的框架,但是感觉少了点什么呢?

仔细找了一下,发现使用./mysteem.py --help 生成的帮助有点单薄

其中命令列表后竟然没有帮助,是可忍孰不可忍,婶也不能忍!

给命令加上帮助

./mysteem.py --help

这回舒服多了!

总结

这篇文章,我们模仿 steempy,做了个命令行程序的框架。实际上一点功能也没有,但是用来理解click的使用,还是略有帮助的。

当然了,限于篇幅,本文只讲了一部分,回头继续更新,敬请期待!

参考链接

This page is synchronized from the post: python 命令行神器:Click (一)

最后

以上就是香蕉棉花糖为你收集整理的python求助神器_python 命令行神器:Click (一)的全部内容,希望文章能够帮你解决python求助神器_python 命令行神器:Click (一)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部