Python - 依赖参数

时间:2017-05-17 11:25:20

标签: python parsing arguments

我有两个参数说用户名和密码

parser.add_argument('-a1', '--arg1')
parser.add_argument('-a2', '--arg2')

我想强制用户根据他为参数arg2传递的值输入a1;例如,当给出xyz时:

例如:

myscript.py -a1 abc    # OK
myscript.py -a1 xyz    # Error: please enter -a2 value

2 个答案:

答案 0 :(得分:1)

argparse无法构建此类复杂的依赖项。

解析后,您必须对此进行单独测试;如果不符合您的具体条件,只需使用您的错误消息调用ArgumentParser.error() method

args = parser.parse_args()

if args.a1 == 'xyz':
    parser.error('please enter -a2 value')

答案 1 :(得分:0)

一种丑陋的方式是检查arg1是否是' xyz'然后拨打'输入()'那里会要求用户输入arg2的方法。