Python 向argparse添加单元
现在我有Python 向argparse添加单元,python,argparse,Python,Argparse,现在我有 parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter) group = parser.add_argument_group("Calibration Options") group.add_argument('-c', '--calibration', default=False, action="store_true", help="Calibrate Gear"
parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)
group = parser.add_argument_group("Calibration Options")
group.add_argument('-c', '--calibration', default=False, action="store_true", help="Calibrate Gear", dest="calibrate")
group.add_argument('--startFreq', default=400, type=int, help="Start Frequency [MHz]", dest="calStart")
这就产生了这个输出
Calibration Options:
-c, --calibration Calibrate Gear (default: False)
--startFreq Start Frequency (MHz) (default: 400)
这是可以的,但我希望“单位”包含在默认值中,如
Calibration Options:
-c, --calibration Calibrate Gear (default: False)
--startFreq Start Frequency (default: 400 MHz)
有没有这样做的必要,或者我不应该这样做的原因?如果你将起始频率的类型设置为字符串,那么你可以将其默认为“400 MHz”-然后你可以将其解析为你需要的数字-你甚至可以考虑解析单元的可能性,这样用户就可以用100k或200kHz调用你的脚本,等等。如果您将起始频率的类型设置为字符串,那么您可以将其默认为“400 MHz”-然后您可以将其解析为所需的数字-您甚至可以查看解析单元的可能性,以便用户可以使用100k或200kHz调用您的脚本,等等。放入您自己的
%(默认值)s
在帮助行中。专门的格式化程序将该字符串添加到帮助中所做的一切
group.add_argument('--startFreq', default=400, type=int, help="Start Frequency (default: %(default)s MHz)", dest="calStart")
我还将使用:
`group.add_argument('-c', '--calibration', action="store_true", help="Calibrate Gear (default: False)", dest="calibrate")
store\u true
的内置默认值为False,但%(默认值)s
不会捕获该值
argparse.ArgumentDefaultsHelpFormatter
是一个方便的工具。在帮助
字符串中,它所做的事情没有你做不到的<当默认值可能是一个变量时,code>%(默认值)s最有用,这在定义参数及其help
参数时是未知的 将您自己的%(默认)s
放在帮助行中。专门的格式化程序将该字符串添加到帮助中所做的一切
group.add_argument('--startFreq', default=400, type=int, help="Start Frequency (default: %(default)s MHz)", dest="calStart")
我还将使用:
`group.add_argument('-c', '--calibration', action="store_true", help="Calibrate Gear (default: False)", dest="calibrate")
store\u true
的内置默认值为False,但%(默认值)s
不会捕获该值
argparse.ArgumentDefaultsHelpFormatter
是一个方便的工具。在帮助
字符串中,它所做的事情没有你做不到的<当默认值可能是一个变量时,code>%(默认值)s最有用,这在定义参数及其help
参数时是未知的 我个人认为没有必要在默认值之后包含单位。原因是:现在我尝试输入--startfreq 100 MHz
如果你想在默认值中包含MHz
,那么默认值不应该是int
。我个人认为没有必要在默认值之后包含单位value.reason not to:现在我尝试输入--startfreq 100 MHz
,如果您想在默认值中包含MHz
,那么默认值不应该是int
。