我已经添加了一个参数 -c,现在我想添加另一个名为 -ca 的参数。如何将 -ca 的默认值设置为 -c?我想要做的是如果未指定 -ca,则将 -c 分配给 -ca。
parser.add_argument("-c", type=str)
parser.add_argument("-ca", type=str, default=XXX)
Run Code Online (Sandbox Code Playgroud)
谢谢。
hpa*_*ulj 10
通常,单破折号标志是单个字符。所以-ca是不明智的,但并不违法。在正常的 POSIX 实践中,它可以被解释为-c a或-c -a。
还argparse允许标记参数 ( optionals) 以任何顺序出现。
解析从分配所有默认值开始。当遇到相关标志时,新值会覆盖默认值。鉴于该顺序,一个参数不可能将另一个参数的值作为默认值。
通常,最好在解析后处理参数之间的交互。有一个mutually_exclusive分组,但没有mutually_inclusive。您可以通过自定义Action类构建某种交互,但实现它与任何解析后测试一样多。
总之,最简单的就是使用默认的default, None, 和 test
if args.ca is None:
args.ca = args.c
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3030 次 |
| 最近记录: |