Edited at

python-fireで始める簡単CLI開発

More than 1 year has passed since last update.


背景

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が作れます

  • 開発中のデバッグもしやすくて良い感じ

  • 「ファイル操作がけっこうあってシェルスクリプトだとちょっと書きにくいなー」みたいなシーンに良さそうです