Python argparseの使い方メモ

argparseパッケージを使うと簡単にコマンドライン引数によるオプションの設定ができる。
sysモジュールで引数の管理して-hオプションがあったら…ってオプションに長い行数を費やす必要がなくなる!うれしい!

argtest.py [-h] [-d DIRECTORY] url
というオプションを付けたい場合
すなわち
python argtest.py -d test https://airtoxin.wordpress.com/
もしくは
python argtest.py https://airtoxin.wordpress.com/
という感じで実行させたい場合

argtest.py

import argparse
#パーサーの生成とプログラムの概要
parser = argparse.ArgumentParser(description=u"argtestのテストスクリプトだよ")
#オプションを設定
parser.add_argument("-d", "--directory", type=str, help=u"ディレクトリ名だよ")
#必須の引数を設定
parser.add_argument("url", type=str, help=u"ここにurlを入力")
#受け取った引数を格納する
args = parser.parse_args()

#引数を取り出す
print args.directory
print args.url

これでargsインスタンスにオプションで引き取った引数が格納される。
add_argumentの際に”-d”とオプションを設定したものはその次の引数の文字列インスタンスの中に受け取った引数が格納される。
-を付けずに”url”と設定したものは必須の引数となって、その文字列インスタンスに受け取った引数が格納される。

ヘルプオプションの内容はadd_argumentのhelp引数でしたものを用いて自動で生成される。

usage: argtest.py [-h] [-d DIRECTORY] url

argtestのテストスクリプトだよ

positional arguments:
  url                   ここにurlを入力

optional arguments:
  -h, --help            show this help message and exit
  -d DIRECTORY, --directory DIRECTORY
                        ディレクトリ名だよ

便利!
他にも排他的だったり複数の引数だったりを受け取るオプションコマンドも設定できるみたい。
まぁ普通に使ってたらこれくらい知っていれば良い気がする。

広告


コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中