今天给大家介绍的项目是来自谷歌开源的Python Fire,可以从任何 Python 代码生成命令行接口(command line interfaces (CLIs)),简单地调用任意 Python 程序中的 Fire 函数以将那个程序自动地转化为 CLI。截止发稿前,该项目已经在github获得15600+⭐,接近1000次fork。为什么这个项目这么火爆呢?俩字:『好用』......
Github地址:https://github.com/google/python-fire
获取方式:
Python Fire有哪些优点:
例子一
1# calling Fire a function
2import fire
3def hello(name="World"):
4 return "Hello %s!" % name
5
6if __name__ == __main__ :
7 fire.Fire(hello)
8
9
10# from the command line,then run:
11python hello.py # Hello World!
12python hello.py --name=David # Hello David!
13python hello.py --help # Shows usage information.
例子二
1# calling Fire on a class
2import fire
3
4class Calculator(object):
5 """A simple calculator class."""
6
7 def double(self, number):
8 return 2 * number
9
10if __name__ == __main__ :
11 fire.Fire(Calculator)
12
13# from the command line, then run:
14
15python calculator.py double 10 # 20
16python calculator.py double --number=15 # 30
例子三
1#!/usr/bin/env python
2import fire
3class Example(object):
4 def hello(self, name= world ):
5 """Says hello to the specified name."""
6 return Hello {name}! .format(name=name)
7
8def main():
9 fire.Fire(Example)
10
11if __name__ == __main__ :
12 main()
13
14##########################
15 当 Fire 函数运行时,我们的命令被执行。
16仅仅通过调用 Fire,现在我们可以把样本类当作命令行工具来使用。
17
18
19$ ./example.py hello
20Hello world!
21
22$ ./example.py hello David
23Hello David!
24
25$ ./example.py hello --name=Google
26Hello Google!
每个 Fire CLI 都带有交互模式。
因为 Python Fire 十分简单、普遍和强大,我希望能为你的项目提供一个十分有效的库。
英文链接:http://opensource.googleblog.com/2017/03/python-fire-command-line.html
本文分享自 机器学习算法与Python学习 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!