Pythonでコマンド引数を実装したい時はdocoptを利用すると便利です。
docoptはpipでインストールすることができます。
sudo pip install docopt
sample.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""コマンド引数設定
usage:
sample.py sample01 <a> <b> <c>
sample.py sample02 <d> <e>
options:
-h, --help :ヘルプ表示
-v, --version :バージョン
"""
from docopt import docopt
if __name__ == '__main__':
args = docopt(__doc__, version="1.0.0")
a = args.get('<a>')
b = args.get('<b>')
c = args.get('<c>')
d = args.get('<d>')
e = args.get('<e>')
sample01 = args.get('sample01')
sample02 = args.get('sample02')
print ("\n")
print (u"-コマンド引数表示-")
print (u"sample.py " + str(sample01) + " " + str(a) + " " + str(b) + " " + str(c))
print (u"sample.py " + str(sample02) + " " + str(d) + " " + str(e))
print ("\n")
下記コマンドを実行でヘルプを確認。
python sample.py -h
下記コマンドを実行でバージョンを確認。
python sample.py -v
下記コマンドを実行でsample01の引数を確認。
python sample.py sample01 6 3 15
下記コマンドを実行でsample02の引数を確認。
python sample.py sample02 8 35
不正なコマンドを実行すると、正しいコマンドの説明が表示されます。
python sample.py sample02 8 35 3 7
引数を定義:
"""コマンド引数設定
usage:
sample.py sample01 <a> <b> <c>
sample.py sample02 <d> <e>
options:
-h, --help :ヘルプ表示
-v, --version :バージョン
"""
全ての引数を格納:
args = docopt(__doc__, version="1.0.0")
各引数を格納:
a = args.get('<a>')
b = args.get('<b>')
c = args.get('<c>')
d = args.get('<d>')
e = args.get('<e>')
sample01 = args.get('sample01')
sample02 = args.get('sample02')
docoptを利用するとコマンド引数を実装できます。
- 参考文献
docopt