# import sys
import argparse
# 获取终端输入有两种方式, sys.argv 和 argparse, 这里选择argparse
def argparse_m():
parser = argparse.ArgumentParser(description="Process RenderFarm params", usage="请使用'%(prog)s -h'命令获取使用帮助")
# parser.print_help()
parser.add_argument("-t", "--tasktype", required=True, choices=["render", "analyse"], dest="tasktype", help= "请输入任务类型, render或者analyse")
parser.add_argument("-i", "--taskid", required=True, dest="taskid", help= "请输入任务id")
parser.add_argument("-d", "--config_data_id", required=True, dest="config_data_id", help= "请输入配置中心唯一标识")
parser.add_argument("-c", "--config_server_host", required=True, dest="config_server_host", help= "请输入配置中心host地址")
parser.add_argument("-p", "--config_server_port", required=True, dest="config_server_port", help= "请输入配置中心port端口号")
parser.add_argument("-n", "--node_host", required=True, dest="node_host", help= "请输入渲染节点IP")
parser.add_argument("-e", "--e_uuid", required=True, dest="e_uuid", help= "请输入渲染节点UUID")
parser.add_argument("-f", "--frame_number", dest="frame_number", help= "请输入渲染帧数(单数)")
parser.add_argument("-s", "--frame_step", dest="frame_step", help= "请输入渲染间隔帧")
parser.add_argument("-l", "--layer_name", dest="layer_name", help= "请输入渲染层名")
parser.add_argument("-u", "--frame_uuid", dest="frame_uuid", help= "请输入渲染帧的UUID")
parser.add_argument("-a", "--layer_uuid", dest="layer_uuid", help= "请输入渲染层的UUID")
args = parser.parse_args().__dict__
if len(args) != 12:
print("参数错误")
else:
return args
# def argv_m():
# params = sys.argv
# print(params)
'''
DOC:
parser = argparse.ArgumentParser(description="xxx", prefix_chars="-+")
创建parser对象时可以是用prefix_chars指定参数前缀字符串, prefix-chars="-+", 也就是可以是用 "-" 或者 "+" 作为前缀字符,
注意添加参数只能是用限定字符前缀
nargs参数 parser.add_argument(nargs=4) 指定参数后面的value有几个
例子: -t 1 2 3 4 指定nargs为4, 它会把参数后四个value全部接受
default参数 parser.add_argument(default="默认值") 设定该参数的默认值=
required参数 parser.add_argument(required=True) 一般 -t 这样的参数是可选的, 使用这个参数就变成必须的了
choices - 设置参数值的范围,如果choices中的类型不是字符串,记得指定type哦 #parser.add_argument(“-y”, choices=[‘a’, ‘b’, ‘d’])
dest #返回的字典的名称, 对象的属性名,要添加到返回值的对象的属性的名称,
parser.add_argument(dest="abc") Namespace(abc='task', d='d', id='id')
'''
'''
python executor_input.py -t analyse -i task001 -d cg_py_config.json -c 192.168.1.174 -p 8848 -n 192.168.1.82 -e 123456
'''