假设我有以下argparse代码段:
diags.cmdln_parser.add_argument( '--scan-time',
action = 'store',
nargs = '?',
type = int,
default = 5,
help = "Wait SCAN-TIME seconds between status checks.")
当前,--help
返回:
usage: connection_check.py [-h]
[--version] [--scan-time [SCAN_TIME]]
Test the reliability/uptime of a connection.
optional arguments:
-h, --help show this help message and exit
--version show program's version number and exit
--scan-time [SCAN_TIME]
Wait SCAN-TIME seconds between status checks.
我更喜欢这样的东西:
--scan-time [SCAN_TIME]
Wait SCAN-TIME seconds between status checks.
(Default = 5)
偷看帮助格式化程序代码,发现选择有限。是否有一种聪明的方法可以argparse
以--scan- time
类似的方式打印默认值,还是我应该只是help
格式化程序的子类?
使用argparse.ArgumentDefaultsHelpFormatter
格式化程序:
parser = argparse.ArgumentParser(
# ... other options ...
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
引用文档:
另一个可用的格式化程序类
ArgumentDefaultsHelpFormatter
,将添加有关每个参数的默认值的信息。
注意, 这仅适用于已定义帮助文本的参数 ;如果没有help
参数值,则没有帮助消息将有关默认值的信息添加 到中 。
然后,您的扫描时间选项的确切输出将变为:
--scan-time [SCAN_TIME]
Wait SCAN-TIME seconds between status checks.
(default: 5)
问题内容: 我想有一个可选参数,如果仅存在未指定值的标志,则默认为一个值,但是存储用户指定的值,而不是如果用户指定一个值,则存储默认值。是否已经有可用于此的措施? 一个例子: 我可以创建一个动作,但想查看是否存在执行此操作的方法。 问题答案: 表示0或1参数 当参数为0时设置默认值 将参数转换为int 如果即使未指定,也要设置为1 ,则包括。也就是说, 然后
问题内容: 考虑程序的三个不同的运行: 是否可以在第一种情况下,第二种情况下,第三种情况下使用? 问题答案: 带有参数的参数可以很好地处理此三向输入。 我也可以给它一个参数。 如何使用argparse在python中添加多个参数选项?
问题内容: 我发现新类中的子类化和字典更新有一个奇怪的问题: 在调试中,在第二个调用()中,您可以看到构造函数内已经等于,并且在此之后调用构造函数时,这两个对象都变为了! 同样,构造函数调用的顺序为: 如果在构造函数中替换为,一切都会正常,并且将按预期方式运行 但是我确实需要 更新 此属性,而不是替换它。 问题答案: 不应具有这样的默认值。改为这样做: 这是一个常见的python “ gotcha
本主题中的某些内容可能不适用于某些语言。 为标准的 Office 联机帮助显示“Office 助手”及内置的带有“请问您要做什么?”的“助手”气球。 expression.Help 表达式 必需。该表达式返回一个Assistant 对象。 示例 本示例在用户选中“I need more information”复选框后,显示内置的含有“请问您要做什么?”的“助手”气球。 Set b = Assis
问题内容: def save_file(self, outputfilename = self.image_filename): self.file.read(outputfilename) .... 在第一行中给出。似乎Python不接受它。我该如何重写代码,以免引发异常? 问题答案: 使用默认值并检测到该值。