Drkcore

07 04 2011 Python Tweet

Pythonのcmdモジュール

cmdを使えばコマンドラインのツールを簡単に作れる

コマンドループは

line = self.precmd(line)
stop = self.onecmd(line)
stop = self.postcmd(stop, line)

となっているのでpre,postのフックが効く。onecmdのほうはdo_をつけたメソッドを呼び出している。

cmd, arg, line = self.parseline(line)
if cmd == '':
    return self.default(line)
else:
    try:
        func = getattr(self, 'do_' + cmd)
    except AttributeError:
        return self.default(line)
    return func(arg)

getattrでメソッドを呼び出して、引数与えて実行した結果を返している。動的にメソッドの適用したい場合にはこうやればいいのか。

About

  • もう5年目(wishlistありマス♡)
  • 最近はPythonとDeepLearning
  • 日本酒自粛中
  • ドラムンベースからミニマルまで
  • ポケモンGOゆるめ

Tag

Python Deep Learning javascript chemoinformatics Emacs sake and more...

Ad

© kzfm 2003-2021