写python程序,如何优雅的写帮助及选项控制

我们用到的库是argparse
具体的用法和高端玩法,可以找详细解释的帖子,这里记录下自己的写法。
相关文档:
https://www.cnblogs.com/lovemyspring/p/3214598.html

首先是安装模块

import argparse

代码片段

import argparse

def argsctl():
    parser = argparse.ArgumentParser(description='这是一个测试')
    parser.add_argument(
        "-init",
        dest="init", #args取该选项的值的时候使用
        help="初始化程序",  #帮助信息,-h的之后会展示
        required=False, #是否必须要输入的字段,默认是True
        nargs='?', #这个选项拥有几个参数,? 表0个或者1个
        const=True)  #可理解为默认值
    parser.add_argument("-d", dest="decrypt", help="下载文件", required=False)
    args = parser.parse_args()
    return args

args = argsctl()  #注意这是个dict,程序部分写判定的时候需要使用
print(args) 

执行看下
帮助信息

(python3.7) bogon:tmp liangjiapeng$ python test.py -h
usage: test.py [-h] [-init [INIT]] [-d DECRYPT]

这是一个测试

optional arguments:
  -h, --help    show this help message and exit
  -init [INIT]  初始化程序
  -d DECRYPT    下载文件

参数控制

-init 不输入值,走默认的True
(python3.7) bogon:tmp liangjiapeng$ python test.py -init -d aaa
Namespace(decrypt='aaa', init=True)

-init 输入值,走输入值
(python3.7) bogon:tmp liangjiapeng$ python test.py -init 666 -d aaa
Namespace(decrypt='aaa', init='666')

你可能感兴趣的:(写python程序,如何优雅的写帮助及选项控制)