背景
编写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