考虑以下简单程序。
from docopt import docopt
doc = """
Usage: ./opt.py [options]
-h,--help show this
-a <option> generic option [default: Foo]
"""
options = docopt(doc)
print options['-a']
print options
是否可以在我的程序中区分以下两个用户调用?
python Opt.py -a Foo
python Opt.py
答案 0 :(得分:2)
如果定义默认值,则无法区分。但是您可以从docstring中删除默认值并以编程方式设置它。
from docopt import docopt
doc = """
Usage: ./opt.py [options]
-h,--help show this
-a <option> generic option
"""
options = docopt(doc)
if options['-a']:
# option was defined
...
else:
# option was not defined
options['-a'] = "Foo"
...
但无论如何,对于哪些用例根本不需要?