gpt4 book ai didi

python - 在 argparse 中使用另一个选项值作为默认值

转载 作者:行者123 更新时间:2023-11-30 22:31:29 24 4
gpt4 key购买 nike

是否可以在 argparse 中使用另一个选项值作为默认值

parser.add_argument("--num-1", default='1', help="[OPTIONAL] arg 1")
parser.add_argument("--num-2", default='1', help="[OPTIONAL] arg 2")

这里,如果没有默认值传递给 --num-2 我想使用与 num_1 相同的值,无论是默认值还是输入值。

parser.parse_args("--num-1 10".split())

Namespace(num_1='10', num_2='1') # 即 num_2 应与 num_1 相同

最佳答案

您可以省略 --num-2 的可选值。这意味着如果未给出任何值,则默认值为None。然后,您可以在收到命令行参数后测试是否是这种情况。如果 --num2None,请将其设置为等于 --num-1 的值:

parser.add_argument("--num-1", default='1', help="[OPTIONAL] arg 1")
parser.add_argument("--num-2", help="[OPTIONAL] arg 2")
...
args = parser.parse_args()
if args.num_2 is None:
args.num_2 = args.num_1

或更简洁地说:

args.num_2 = args.num_1 if args.num_2 is None else args.num_2

更简洁:

args.num_2 = args.num_2 or args.num_1

但请注意,最后一个方法--num-2 不是“假”的情况下才起作用

关于python - 在 argparse 中使用另一个选项值作为默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45804965/

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