gpt4 book ai didi

python - argparse key=value 参数

转载 作者:行者123 更新时间:2023-11-28 16:43:56 27 4
gpt4 key购买 nike

第一个链接在第一节中有相同的问题,但没有答案(python argparse: parameter=value)。第二个问题是相似的,但我似乎无法让它适用于我的特殊情况(Using argparse to parse arguments of form "arg= val")。

所以我的情况是这样的——我正在重写一个被许多其他脚本使用的 Python 包装器(我不想修改这些其他脚本)。目前,Python 包装器是使用 --key=value 形式的命令行参数调用的,用于许多不同的参数,但被手动解析。我想用 argparse 解析它们。

注意参数名称很笨重,因此我使用 add_argument 中的 dest 选项重命名。

parser = argparse.ArgumentParser(description='Wrappin Ronnie Reagan')
parser.add_argument("--veryLongArgName1", nargs=1, dest="arg1", required=True)
parser.add_argument("--veryLongArgName2", nargs=1, dest="arg2")
parser.add_argument("--veryLongArgName3", nargs=1, dest="arg3")
userOpts = vars(parser.parse_args())

虽然显然正确解析了传递的命令行,但将其显示为帮助:

usage: testing_argsparse.py [-h] --veryLongArgName1 ARG1
[--veryLongArgName2 ARG2]
[--veryLongArgName3 ARG3]
testing_argsparse.py: error: argument --veryLongArgName1 is required

但我想要的是所有参数都以--key=value格式指定,而不是--key value。即

usage: testing_argsparse.py [-h] --veryLongArgName1=ARG1
[--veryLongArgName2=ARG2]
[--veryLongArgName3=ARG3]
testing_argsparse.py: error: argument --veryLongArgName1 is required

最佳答案

testing_argsparse.py --veryLongArgName1=foo

有效。 argparse 模块接受 --veryLongArgName1=foo--veryLongArgName1 foo 格式。

您试图传递给 argparse 的具体命令行参数是什么导致它不起作用?

关于python - argparse key=value 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15893540/

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