Python 中类似 Perl 6 的神奇 main() 签名
Python有没有简单快捷的方法来制作命令行工具,而不需要写很多解析参数的繁琐代码呢?
在Perl 6中,MAIN
这个函数的签名可以自动解析命令行参数。
在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)