我正在尝试一个非常简单的 python 脚本,只有位置参数,由docopt
.
#!/usr/bin/env python
opt_spec = """Test
Usage: docopt_test (import | export <output_file> <output_format>)
docopt_test (-h | --help)
docopt_test (-v | --version)
Options:
-h --help Show this screen.
-v --version Show version.
"""
from docopt import docopt
if __name__ == '__main__':
arguments = docopt(opt_spec, version='Test 1.0')
print(arguments)
运行时会打印:
./docopt_test.py export file.xml xml
{'--help': False,
'--version': False,
'<output_file>': 'file.xml',
'<output_format>': 'xml',
'export': True,
'import': False}
问题是output_file
andoutput_format
参数在名称中保留了<
and>
分隔符,使得调用args['output_file']
变得不可能。从用法字符串中删除分隔符会改变语义,使选项变成关键字。
有没有办法解决这个问题而不必求助于像这样的用法args['<output_file>']
?