加入收藏 | 设为首页 | 会员中心 | 我要投稿 西安站长网 (https://www.029zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

利用Click和argparse给你Python程序构建一个优雅的命令行界面

发布时间:2019-08-20 22:39:10 所属栏目:建站 来源:虫虫安全
导读:副标题#e# 我们知道在Linux下有优雅的shell终端命令行界面,shell脚本都可以优雅用命令行的方式来运行。而且shell也再带优化命令行参数解析的bash内部命令getopts和大多数发行版附带的外部命令getops。Perl语言也有Getopt::XX系列模块来实现类似功能;Gola

ArgumentParser对象的初始化原型为(构造方法):

  1. ArgumentParser(prog=None, usage=None, description=None, epilog=None, parents=[], formatter_class=argparse.HelpFormatter, prefix_chars='-', fromfile_prefix_chars=None, argument_default=None, conflict_handler='error', add_help=True) 

其各个参数为:

prog - 程序的名称(默认为sys.argv[0])

usage - 描述程序使用帮助信息(默认值:从添加的参数来生成)

description - 在参数帮助之前显示的文本(默认值:无)

epilog - 在参数帮助后显示的文本(默认值:无)

parents - ArgumentParser也应包含其参数的对象列表

formatter_class - 用于自定义帮助输出的类

prefix_chars - 前缀可选参数的字符集(默认值:' - ')

fromfile_prefix_chars -文件前缀字符参数(默认值:None)

argument_default -为参数的全局默认值(默认值:None)

conflict_handler - 解决冲突选项的策略(通常不需要)

add_help -添加-h/--help选项解析器(默认值:True)

一般情况下,我们无需管其他情况,只需设置个程序描述即可。

add_argument()方法

add_argument()方法用来创建解析参数,定义对参数具体的解析,其原型如下:

add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest])

参数有:

name或者flags - 名称或选项字符串列表,必填写项。例如foo或-f, --foo。

action - 在命令行中遇到此参数时要采取的操作类型。

nargs – 要使用的命令行参数的数量,用通配符号表示,比如"*","+"和"?",分别表示不限数量,至少一个和一个参数。

const - 一些动作和 nargs 选择所需的常量。

default - 如果参数在命令行中不存在,则默认使用的值。

type - 命令行参数应该转换的类型,默认为字符串string

choices – 可选项, 一个允许参数值的容器。

required - 是否可以省略命令行选项(仅对可选项)。

help - 帮助提示信息,用来对参数进行必要的描述。

metavar – 帮助消息替代参数的显示名称。

(编辑:西安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读