gpt4 book ai didi

python - 仅在参数列表中而不是在其用法中更改 argparse 中的元变量值

转载 作者:行者123 更新时间:2023-12-01 04:41:05 26 4
gpt4 key购买 nike

我的问题类似于argparse help without duplicate ALLCAPS问题。

虽然我会简要解释这个问题是什么以及我的问题是什么:
我想以与默认 -h,--help 相同的方式显示选项的 argparse 帮助,每个选项后没有全大写文本,或者至少没有重复的大写字母。

例如,使用以下代码:

#filename=temp.py
import argparse
p = argparse.ArgumentParser()
p.add_argument('-i', '--ini', help="use alternate ini file")
print '\n', p.parse_args()

现在正在运行python temp.py -h:

usage: temp.py [-h] [-i INI]

optional arguments:
-h, --help show this help message and exit
-i INI, --ini INI use alternate ini file

现在我想要的是这样的:

usage: 123.py [-h] [-i INI]

optional arguments:
-h, --help show this help message and exit
-i, --ini INI use alternate ini file

或者

usage: 123.py [-h] [-i INI]

optional arguments:
-h, --help show this help message and exit
-i, --ini use alternate ini file

要获得第二个,方法是将 p.add_argument 行中的默认 metavar 更改为:

p.add_argument('-i', '--ini', help="use alternate ini file")

并更改argparse.ArgumentParser()中的默认用法语句。

但是当我的代码中可选参数的数量增加时,我发现很难根据代码中的修改通过添加和删除参数来修改使用消息。

有没有其他方法可以解决metavar的问题而不影响使用语句。

如果我想让帮助显示如第一种情况所示,其中 -i, --ini 之后只有一次 INI,该怎么办。

如果我在将帮助显示为 -i, --ini INI-i, --ini 而不是 -i INI 时出错,- -ini INI 请以适当的理由纠正我。 (我所说的错误是指我使用的约定会导致用户困惑或误解)

最佳答案

为了快速解决方案,您可以将退格字符设置为元变量。

p.add_argument('-i', '--ini', help="use alternate ini file", metavar='\b')

它会给你这个:

optional arguments:
-h, --help show this help message and exit

如果你想要这个:

  -i, --ini INI      use alternate ini file

您必须修改帮助格式化程序。在这里回答python argparse help message, disable metavar for short options?

关于python - 仅在参数列表中而不是在其用法中更改 argparse 中的元变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30704631/

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