Drkcore

03 04 2013 Python Tweet

docoptでCLI用のオプションを記述するのが良い感じ

python-livereloadのソース読んでたらdocoptというモジュールを使っていて、「optparseでもargparseでもないのか、なんだこれ?」と調べてみた。

optparse,argparseのようにオプションを登録してhelp,usageをつくるのではなく、helpの文字列からオプションをparseして組み立てるものだそうだ。

Command-line interface description language(CLI記述言語)と銘打っているので、python限定というわけではなく、Ruby,CoffeeScript,PHPなんかにも実装があるようだ。

cmd = """Python LiveReload

Usage:
    livereload [-p <port>|--port=<port>] [-b|--browser] [<directory>]

Options:
    -h --help                       show this screen
    -p <port> --port=<port>         specify a server port, default is 35729
    -b --browser                    open browser when start server
"""

def main():
    args = docopt(cmd)
    port = args.get('--port')
    root = args.get('<directory>')
    autoraise = args.get('--browser')

使い方は簡単で、ヘルプの文字列書いたらdocoptに食わせるだけ。どの言語でも同じようにヘルプを書けるので嬉しいかも。積極的につかっていこうっと。

日本語の分かりやすい説明もあった。

  • docopt / shkh's log

About

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

Tag

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

Ad

© kzfm 2003-2021