gpt4 book ai didi

python - Argparse 使用可选参数和值结合位置参数

转载 作者:太空宇宙 更新时间:2023-11-03 17:30:01 24 4
gpt4 key购买 nike

为了简单起见,在我的脚本中,我有三个参数:

parser.add_argument("-c", "--compile")
parser.add_argument("--verbose",
help = "stores compilation results in specified log file as they come (default name: %(const)s)",
nargs = '?',
const = DEFAULT_LOG_FILE_NAME,
metavar = "LOGFILE_NAME")
parser.add_argument("path", nargs = "*")

-c--verbose两者都是可选的,路径也是一个位置参数。此外,--verbose 的参数也是可选的。如果没有提供,

假设我想将这三个组合在一个命令中。

我将按如下方式运行它:

myscript.py -c --verbose path1 path2 path3

这里的问题是,在这种情况下,脚本将解释 path1作为 --verbose 的参数,除非我使用--verbose=<log_name> 。据我所知,没有办法将 argparse 限制为仅允许 =语法而不是空格。我不能指望我的用户理解 =必须使用,或者输入--verbose作为最后一个论点之一。

我该如何解决这个问题?如有任何帮助,我们将不胜感激。

最佳答案

在这种情况下,您要重载 --verbose 来执行两件事:作为开/关标志,以及作为日志文件选项。考虑将其分为两个不同的选项:--verbose--log=LOGFILE_NAME

关于python - Argparse 使用可选参数和值结合位置参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32009784/

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