我们用到的库是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')