【python3-3】argparse命令行添加参数

背景

编写python脚本在本地传参执行是没有问题的,但是想要从外部把参数引入进来,需要添加自定义变量参数
查阅python相关资料,argparse库可以从命令行添加对应变量参数
以下argparse库的一些操作方法:

import argparse
if __name__ == "__main__":
    # 创建命令行解析器句柄,并自定义描述信息
    parser = argparse.ArgumentParser(description="test the argparse package")
    # 定义必选参数 positionArg
    parser.add_argument("project_name")
    # 定义可选参数module
    parser.add_argument("--module", "-v1", help="test the optional arguments")
    # 定义可选参数module1
    parser.add_argument("--module1", "-v2", help="test the optional arguments")
    # 指定参数类型(默认是 str)
    # parser.add_argument('x', type=int, help='test the type')
    # 设置参数的可选范围
    # parser.add_argument('--verbosity3', '-v3', type=str, choices=['one', 'two', 'three', 'four'], help='test choices')
    # 设置参数默认值
    # parser.add_argument('--verbosity4', '-v4', type=str, choices=['one', 'two', 'three'], default=1,help='test default value')
    args = parser.parse_args()  # 返回一个命名空间
    print(args)
    params = vars(args)  # 返回 args 的属性和属性值的字典
    v1=[]

    for k, v in params.items():
        v1.append(v)
        # print(v)

    print(v1[0])
    print(v1[1])
    print(v1[2])

执行命令方式,添加外部自定义变量参数方法,打印返回参数:

D:\testcase-master>python verbosity.py soa -v1=order -v2=goods
Namespace(module='order', module1='goods', project_name='soa')
soa
order
goods

你可能感兴趣的:(【python3-3】argparse命令行添加参数)