14.1.4.2 选项前缀
选项的默认语法基于一个UNIX约定:使用一个短横线(-)前缀来指示命令行开关。argparse还支持其他前缀,所以程序可以采用本地平台的默认设置(也就是说,在Windows上就使用"/"),或者遵循一个不同的约定。
import argparse
parser = argparse.ArgumentParser(
description='Change the option prefix characters',
prefix_chars='-+/',
)
parser.add_argument('-a',action="store_false",
default=None,
help='Turn A off',
)
parser.add_argument('+a',action="store_true",
default=None,
help='Turn A on',
)
parser.add_argument('//noarg','++noarg',
action="store_true",
default=False)
print(parser.parse_args())
将ArgumentParser的prefix_chars参数设置为一个字符串,其中包含允许指示选项的所有字符。有一点要了解,尽管prefix_chars建立了允许的开关字符,但是要由各个参数定义来指定一个给定开关的语法。这种明显的冗余可以显示地控制使用不同前缀的选项究竟是别名(如果平台独立的命令行语法就属于这种情况)还是替代选项(例如,使用+指示打开一个开关,用-关闭开关)。在前面的例子中,+a和-a是不同的参数,//noarg也可以被指定为++noarg,不过不能指定为–noarg。