argparseだるいし。関数の定義からコマンド生成すれば良いのでは?
要旨は以下
以下の様にすると greeting()
が関数からコマンドになる。
# -*- coding:utf-8 -*- from cmdfromfn import as_command @as_command def greeting(message, is_surprised=False, name="foo"): """ greeting message :param message: message of greeting :param is_surprised: surprised or not (default=False) :param name: the actor name """ suffix = "!" if is_surprised else "" print("{name}: {message}{suffix}".format(name=name, message=message, suffix=suffix))