python有没有什么方法可以轻松快速地创建CLI实用工具,而不需要大量的参数解析样板?
在Perl6中,MAIN子automagically parses command line arguments.的签名
有没有办法在Python中做类似的事情而不使用很多样板?如果没有,最好的方法是什么?我正在考虑一个函数装饰器,它将执行一些自省并做正确的事情。如果现在还没有类似的东西,我正在考虑下面的内容。这是个好主意吗?
@MagicMain
def main(one, two=None, *args, **kwargs):
print one # Either --one or first non-dash argument
print two # Optional --arg with default value (None)
print args # Any other non-dash arguments
print kwargs # Any other --arguments
if __name__ == '__main__':
main(sys.argv)发布于 2010-10-05 04:30:17
Baker库包含一些方便的装饰器,可以从方法签名“自动”创建arg解析器。
例如:
@baker.command
def test(start, end=None, sortby="time"):
print "start=", start, "end=", end, "sort=", sortby
$ script.py --sortby name 1
start= 1 end= sortby= name发布于 2010-10-05 04:22:17
我真的不确定你认为什么是解析样板。“当前”的方法是使用python的argparse系统。较旧的系统是getopt。
发布于 2010-10-05 04:29:11
Simon Willison的optfunc模块试图提供您正在寻找的功能。
https://stackoverflow.com/questions/3858790
复制相似问题