使用docopt的多个位置和可选参数

在市场

我正在尝试使用该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']}
彼得森(JP Petersen)

不幸的是,Docopt中的选项只能采用一个参数,因此[-o OUTPUT...]将不起作用。如您所陈述的,其余元素将被解释为其他参数。

解决此问题的一种方法是将省略号移到方括号之外:

Usage:
    test.py [INPUT...] [-o OUTPUT]... [-t TEST]

并像这样使用它:

test.py FILE_A FILE_B -o OUTFILE_A -o OUTFILE_B

它看起来不太好,但是可以用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java MethodHandle; 在多个位置使用参数

来自分类Dev

Java MethodHandle; 在多个位置使用参数

来自分类Dev

使用docopt包含多个参数列表

来自分类Dev

如何使用docopt传递多个参数

来自分类Dev

SQL多个位置和字段

来自分类Dev

SQL删除多个位置和喜欢

来自分类Dev

在iOS中的多个位置使用响应

来自分类Dev

使用“MKMapView”显示多个位置

来自分类Dev

使用Google Maps JavaScript API v3和Geocoding API映射多个位置

来自分类Dev

在Python中的一组可选参数中声明一个位置参数

来自分类Dev

在多个位置编码?

来自分类Dev

Python argparse:带有可选和位置参数的互斥参数

来自分类Dev

要求使用argparse的0或2个位置参数?

来自分类Dev

HTML表单在多个位置使用值

来自分类Dev

同时在多个位置上使用从ResourceDictionary加载的XAML画布

来自分类Dev

在Word 2013中的多个位置上使用相同的标签

来自分类Dev

如何使用ClamAV同时扫描多个位置

来自分类Dev

如何使用谷歌地图api查找多个位置

来自分类Dev

使用Pandas和Curve_fit错误func()外推需要3个位置参数,但给出了4个

来自分类Dev

使用可选的to和from参数过滤行中的多个日期

来自分类Dev

XML-如何定义和使用要在同一文件中多个位置引用的节点

来自分类Dev

NuGet Restore的多个位置

来自分类Dev

nginx多个位置块

来自分类Dev

Tweepy 过滤多个位置

来自分类Dev

Laravel查询生成器:多个位置和/或位置和/或优先级

来自分类Dev

是什么使可选参数可选和位置参数成为必需?

来自分类Dev

是什么使可选参数可选和位置参数成为必需?

来自分类Dev

多个可选参数路由

来自分类Dev

有多个可选参数

Related 相关文章

热门标签

归档