背景
pythonでちょこちょこお遊びしてたところ、python-fireなるツールを見つけたので紹介
環境
Python 3.6.1
導入手順
pip install fire
使い方
ガイドはこのページにしっかり書いてあります。
import fire
def add(x, y):
return x + y
def multiply(x, y):
return x * y
if __name__ == '__main__':
fire.Fire()
Fire()をcallしたら、もうコマンドが叩けます。
$ python example.py add 10 20
30
$ python example.py multiply 10 20
200
classを渡すことも可能です。
import fire
class BrokenCalculator(object):
def __init__(self, offset=1):
self._offset = offset
def add(self, x, y):
return x + y + self._offset
def multiply(self, x, y):
return x * y + self._offset
if __name__ == '__main__':
fire.Fire(BrokenCalculator)
オプションとして渡した値をコンストラクタで利用することが出来ます。
$ python example.py add 10 20 --offset=0
30
$ python example.py multiply 10 20 --offset=0
200
他にもヘルプの表示機能なども可能です。便利!
まとめ
- すごく簡単にCLIが作れます
- 開発中のデバッグもしやすくて良い感じ
- 「ファイル操作がけっこうあってシェルスクリプトだとちょっと書きにくいなー」みたいなシーンに良さそうです