我正在使用docopt来处理我的命令行程序,但是我遇到了单个破折号(' - ')开关的一些问题。我希望能够接受这样的命令:
foo.py -a 1
或者像这样
foo.py -a1
我的程序目前执行第一个,但它没有执行第二个。这是我现在拥有的:
Usage:
foo.py [-a <address>]
Options:
-a Set address
我已尝试将用法更改为
Usage:
foo.py [-a<address]
但这不起作用。
答案 0 :(得分:1)
使用class DisplayChoiceFieldSerializers(serializers.ChoiceField):
def __init__(self, *args, **kwargs):
super(DisplayChoiceFieldSerializers, self).__init__(*args, **kwargs)
self.choice_strings_to_values = dict([
(six.text_type(key), unicode(value)) for key, value in self.choices.iteritems()
])
无法做到这一点。
短选项可以&#34;堆叠&#34;,这意味着
docopt
等同于-abc
。
Docopt不知道-a -b -c
是否为参数&#34; 1&#34;参数-a1
或堆叠版本
a
。