假设有这样一个Python函数:
def frobnicate(foo, bar, buzz, *, quux, quuz=42, corge=None):
pass
我有一个转换器,可以用这种方式从shell调用这个函数:
$ ./frobnicate.py 'I am foo' 'This is bar' --quux="Quux here" --buzz="Buzz value"
因此,这些规则类似于Python调用语法约定——首先是位置参数,然后关键字参数可以按任意顺序跟随
问题是-如何允许以双破折号(--
)开头的位置参数?例如,如果我想使foo
等于--nonsense=1234
,我怎么能不强制foo
始终指定为关键字参数呢?有没有什么好的方法可以做到这一点而不打破这个想法
按照惯例,在shell中,选项将放在位置参数之前,如果需要类似于选项的位置参数,则空的
将标记选项的显式结束和位置参数的开始:
相关问题 更多 >
编程相关推荐