Google 出品:简洁优雅的 Python 命令行生成工具
上一次我们推荐了使用 Go 语言的命令行工具 CLI 生成框架:Cobra,需要提前通过生成代码的方式,有一定的后期修改和维护成本。 今天要推荐一个 Python 的命令行工具生成框架 google/python-fire,非常的简洁和优雅。在我不知道这个框架之前我是通过如下简单的代码解决的。
import sys
def foo():
print 'foo'
def bar():
print 'bar'
def main():
foo()
bar()
if __name__ == '__main__':
func = sys.argv[1] if len(sys.argv) == 2 else 'main'
locals()[func]()
可以看出只能处理很简单的一些场景,而且不能处理命令行参数的传递。 使用 google/python-fire 后问题都解决了,而且非常的简洁。
import fire
def hello(name="World"):
return "Hello %s!" % name
if __name__ == '__main__':
fire.Fire(hello)
# 通过命令行调用
$ python hello.py # Hello World!
$ python hello.py --name=David # Hello David!
$ python hello.py --help # Shows usage information.
通过该工具可以很方便的开发和调式 Python 代码,同时可以很容易将其他人的 Python 代码转换成 CLI 工具,使得和 Bash 集成变得更加的简单。另外这个工具是 Google 出品,当然必属精品,点击查看详细的使用文档。
项目地址:https://github.com/google/python-fire
推荐阅读
更多精彩请扫码关注如下公众号。
Written on January 1, 2020