【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」をつかってコマンドライン引数をわかりやすく「ユーザに優しいプログラム」を実現できます。

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

ではでは。

 

プログラミング学習、独学では難しくないですが?
  • プログラミングをどう勉強したらいいのかわからない
  • わかりにくい参考書が多く、自分一人では解決できそうにない
  • 壁にぶつかった時の解決策がわからない
そんな人にはプログラミングスクールtech boost」がおすすめです。

 
 

プログラミングスクールtech boost」の魅力
  1. オーダメイドの自分の目標にあったプランが受講できる!
  2. 現役エンジニアがあなたの学習を全力サポート!
  3. スクール卒業後のキャリアサポートも充実インターン/就職/転職/独立 など
  4. オリジナル Web アプリも作れるようになります!
  5. 近年トレンドの AI や IoT、ブロックチェーンも学習できます!
  6. 受講スタイル(通学かオンライン授業)も選択可能!

 

こんな人におすすめ!

  • 未経験からでもプログラミングをしっかり学びたい!

未経験からでも受講期間中にオリジナルサービス開発レベルまで全力でサポートします。

 

  • プログラミングを一人で学ぶことに限界を感じた!

未経験で一からプログラミング学習するには限界があります。

現役エンジニアがあなたの目標に沿った学習プランを提案してくれるので安心して学習できます。

 

  • 技術力をつけて、IT企業に就職やフリーランス、独立を目指したい!

卒業後のキャリアサポートも充実しているため、未経験からも IT 業界に参入できます。

 

悩んでいるなら、お気軽に無料説明会へ!

現役エンジニアの私がいいますが、IT 業界は圧倒的な人材不足です。

 

スクールは料金が高いからなあ」と悩まれている人もいると思いますが、

IT業界は仕事が有り余っているため、一度学べば速攻で資金回収できます。

 

もしプログラミング学習で悩んでいたり将来的に IT企業、フリーランスなどで働きたいのであれば、

プログラミングスクール「tech boost」へ無料相談だけでもいってみてはいかがでしょうか?

おすすめの記事