【发布时间】:2021-02-24 23:45:10
【问题描述】:
是否可以让 Python 脚本接受 Windows 样式的命令行选项(即,以“/”而不是“-”/“--”为前缀,并使用“:”来指定选项的值的“=”)?
到目前为止,我已经使用了 argparse 并设法使用“/”作为前缀,但我无法让它使用“:”作为分隔符。
parser = argparse.ArgumentParser(prog='PROG', prefix_chars='/')
parser.add_argument('/f')
parser.add_argument('/bar')
#This works with =
print(parser.parse_args('/f X /bar=Y'.split())) #Namespace(bar='Y', f='X')
#Does not work with :
print(parser.parse_args('/f:X /bar:Y'.split())) #blows up
【问题讨论】:
-
看不到更改分隔符的配置,因为它看起来是hardcoded。