parser = argparse.ArgumentParser()
parser.add_argument("first_arg")
parser.add_argument("--second_arg")
我想说second_arg
只有在first_arg
取一定价值时才会被接受,例如" A"。我怎么能这样做?
答案 0 :(得分:1)
import argparse
parser = argparse.ArgumentParser()
subparsers = parser.add_subparsers()
parser_a = subparsers.add_parser('firstvalue')
parser_a.add_argument('bar', choices='A')
parser_a.add_argument("--second_arg")
args = parser.parse_args()
答案 1 :(得分:0)
解析args后,手动执行此操作可能最简单:
import sys
args = parser.parse_args()
if args.first_arg != 'A' and args.second_arg: # second_arg 'store_true'
sys.exit("script.py: error: some error message")
如果second_arg
不是store_true
,请将second_arg
的{{1}}设置为default
。然后条件是:
None