【发布时间】:2010-10-04 20:16:54
【问题描述】:
python 是否有任何方法可以轻松快速地制作 CLI 实用程序而无需大量参数解析样板?
在 Perl 6 中,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)
【问题讨论】:
-
MAINsub 比博文显示的要多强大。例如,您可以拥有多个采用不同参数的MAIN子例程。请参阅Synopsis 06 了解更多信息。
标签: python command-line-arguments raku magic-methods method-signature