gpt4 book ai didi

python - Argparse:如果存在 'y',则需要参数 'x'

转载 作者:IT老高 更新时间:2023-10-28 21:10:10 25 4
gpt4 key购买 nike

我有如下要求:

./xyifier --prox --lport lport --rport rport

对于参数 prox ,我使用 action='store_true' 来检查它是否存在。我不需要任何论据。但是,如果设置了 --prox,我 require rport 和 lport 也是如此。是否有一种简单的方法可以使用 argparse 来完成此操作,而无需编写自定义条件编码。

更多代码:

non_int.add_argument('--prox', action='store_true', help='Flag to turn on proxy')
non_int.add_argument('--lport', type=int, help='Listen Port.')
non_int.add_argument('--rport', type=int, help='Proxy port.')

最佳答案

不,argparse 中没有任何选项可以创建相互包含组的选项。

最简单的处理方法是:

if args.prox and (args.lport is None or args.rport is None):
parser.error("--prox requires --lport and --rport.")

实际上已经有一个开放的 PR 有一个增强提案: https://github.com/python/cpython/issues/55797

关于python - Argparse:如果存在 'y',则需要参数 'x',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19414060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com