【Python】初心者向け!「argparse」でコマンドライン引数をわかりやすくしよう!

どーもTakeです。

この記事では、Pythonで「argparse」をつかってコマンドライン引数をより分かりやすくする方法について簡単に解説します。

 

「コマンドライン引数」とは、コマンドラインから Python ファイルを実行したときに指定する引数のことです。

例えば、Python の「test.py」を実行しようとします。

その場合、ファイル名の横に文字列を追加して実行することができます(下記でいう「123」です)。

この「123」がコマンドを実行する場合の引数(コマンドライン引数)です。

 

 

これはソースコード内では下記のように「sys.argv」という変数で受け取ることが可能です。

 

 

じゃあ、sys.argv でええやん!」ってなるかもしれませんが、

「argparse」を使えば、コマンドライン引数を必要とするソースコードに対して

実行時に注釈をつけたりすることができ、より明示的にわかりやすくすることができます!

 

この記事では「argparse」についてよりわかりやすく説明します!

 

この記事でわかること!
  1. 「argparse」とは?具体例をつかって説明!
  2. コマンドライン引数を数字指定にする!
  3. 独自のオプション引数を導入!

 

スポンサーリンク

「argparse」とは

「argsparse」とは Python 標準ライブラリのひとつで、

コマンドライン引数をよりわかりやすくするモジュールのことです。

 

例えば、下記のような「argsparse」をつかったソースコード(test.py)があるとします。

 

 

上記は、「argsparse」モジュールをインポートさせ、「add_argument」メソッドで「args1」「args2」を指定します。

この「args1」「args2」がコマンドライン引数の格納先になります。

 

この test.py を実行すると(引数なし)、下記のような実行結果が表示されます。

 

 

「-h」を付けて実行!

次に「-h」をつけて実行します(下記が実行結果)。

これは標準のオプションでこれをつけることで「実行する際にどういった引数が必要か?」説明してくれます。

 

この内容は「add_argument」メソッドの「help=」で定義した内容が表示されていることがわかります。

これが「argsparse」の良さです。

 

 

つまり「argsparse」はコマンドライン引数に注釈をつけよりわかりやすくしてくれるモジュールです!

 

コマンドライン引数を数字指定にする!

コマンドライン引数は基本的に文字列になりますが、数字のみを入力したい場合があると思います。

例えば「python test.py 10」のように数字だけを受け付けたい場合があると思います。

 

その場合、「add_argument」メソッドに「type=int」と指定すればOKです!

 

これによりコマンドライン引数に「文字列」を指定して実行するとエラー表示が出力されるようになります。

下記は「python test.py aa aaa」と指定して実行した場合の例です。

 

独自のオプション引数を導入!

コマンドライン引数をよりよくしたいと思われている人で、

下記のように「オプションを付けたい!」と思われている人もいるのではないでしょうか?

 

上記は「--test」という独自のオプションを設定した場合の実行例です。

これは「add_argument」メソッドで簡単に実装できます!

 

上記のように「parse.add_argument("--test", help="test option")」と記述することで

「--test」という独自のオプションをつけることができます。

 

そして「if args.test:」と条件式を追加することでコマンドラインに「--test」というオプションが存在する場合に

処理を実行させることができます。

 

下記実行結果になります。

 

ただし、「--test」のあとには必ず何らかの文字列を追加する必要があります

例えば「python test --test 123」のように「123」を追加する必要があります。

 

オプションの後の値が不要の場合

オプションのあとの文字列を不要にしたい場合、

「add_argument」メソッド内で「action="store_true"」を追加すればOKです。

 

「action="store_true"」を追加することでオプション後に文字列なしで実行できます。

 

オプションを短くしたい場合

オプションを短くすることもできます。

下記のように「parse.add_argument("-t","--test", help="test option")」とすることで

独自のオプション「--test」の短縮形「-t」とすることができます。

 

 

この際、短縮形は「-」(ハイフン)を1つにしてください!

そうしないと正常に実行されません!

 

最後に

いかがでしたでしょうか?

この記事では、「argparse」をつかってコマンドライン引数をより分かりやすくする方法を解説しました。

 

プログラミングはさまざまなユーザが実行しますが、

どんな人でもわかりやすく使えるようにしてあげることが非常に重要です。

 

そんなときに「argparse」をつかってコマンドライン引数をわかりやすく「ユーザに優しいプログラム」を実現できます。

この記事を参考にコマンドライン引数を使いこなしよりよいプログラミング開発をしていただければ幸いです。

ではでは。

 

スポンサーリンク
おすすめの記事