68
52

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2018-01-21

背景

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が作れます
  • 開発中のデバッグもしやすくて良い感じ
  • 「ファイル操作がけっこうあってシェルスクリプトだとちょっと書きにくいなー」みたいなシーンに良さそうです
68
52
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
68
52

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?