【发布时间】:2020-04-09 14:35:01
【问题描述】:
我正在尝试使用 docopt 包实现 python3 CLI。我试图让我的程序接受多个位置输入文件,以及可选的输出文件列表。
我的文档字符串的 MWE 是:
__doc__ = """
Usage:
test.py [INPUT...] [-o OUTPUT...] [-t TEST]
Options:
-o OUTPUT..., --output OUTPUT... #One output file for each INPUT file [default: DEFAULT]
-t TEST, --test TEST #A test option
"""
例如一个程序调用
test.py FILE_A FILE_B -o OUTFILE_A OUTFILE B -t true
应该返回一个字典:
{'--output': ['OUTFILE_A', 'OUTFILE_B'],
'--test': 'true',
'INPUT': ['FILE_A', 'FILE_B']}
但由于某种原因,它总是附加到 INPUT 参数中:
{'--output': ['OUTFILE_A'],
'--test': 'true',
'INPUT': ['FILE_A', 'FILE_B', 'OUTFILE_B']}
【问题讨论】:
标签: python command-line-interface docopt