Pythonのargparseでコマンドライン引数をパース


press
Pythonのargparseでコマンドライン引数をパース

Pythonのargparseでコマンドライン引数をパース

argparseモジュールを使って、Pythonを実行する際にコマンドライン引数を指定してプログラム内に情報を渡す方法です。

引数によって処理を変えたり、別々の値を返す際などに使われたりします。今回はコマンドライン引数を取得して渡された情報を表示するプログラムの説明です。

コードはGitHubリポジトリにあげています。

位置引数の場合

import argparse


parser = argparse.ArgumentParser()
parser.add_argument("v1", type=int, nargs="+")
parser.add_argument("v2")
args = parser.parse_args()

print(args)

コマンド

python cli_args_position.py 1 aaa

結果

Namespace(v1=[1], v2='aaa')

解説

type=int
typeにintを指定しているので数字以外を指定するとエラーが出ます。

nargs="+"
引数を複数にすることも可能

コマンド

python cli_args_position.py 1 2 3 aaa

結果

Namespace(v1=[1, 2, 3], v2='aaa')

オプション引数の場合

import argparse


parser = argparse.ArgumentParser()
parser.add_argument("--v1")
parser.add_argument("--v2")
args = parser.parse_args()

print(args)

コマンド

cli_args_option.py --v1 aaa --v2 bbb

結果

Namespace(v1='aaa', v2='bbb')

オプション引数の場合は引数がなくても実行可能です。

コマンド

python cli_args_option.py

結果

Namespace(v1=None, v2=None)

位置引数とオプション引数の両方を組み合わせた場合

import argparse


parser = argparse.ArgumentParser()
parser.add_argument("v1")
parser.add_argument("--v2")
args = parser.parse_args()

print(args)

コマンド

python cli_args.py aaa --v2 bbb

結果

Namespace(v1='aaa', v2='bbb')

株式会社ファントムへのお問い合わせ

群馬県でPythonを使ったAIやソフトウェアを開発している株式会社ファントムが運営しています。




    Related Articles

    Python

    PytorchのDataloaderに関するTips

    Posted on by EIGHT
    Django

    Djangoでカスタムコマンドを作り実行する

    DjangoでWEBアプリケーションを開発していてデータベースの集計などをバッチ処理したいときに、カスタムコマンドを作り実行する方法です。 今回はサンプルとしてmycommandアプリケーションを作成するので以下のコマン […]

    Posted on by press

    最新情報をお届けします!

    メーリングリストに登録するとファントムの最新情報をお届けします

    お客様のメールアドレスを共有することはありません