\

Pythonでコマンドライン引数を取得する方法は主に3つあります。

  1. sys.argvを使う
  2. argparseを使う
  3. clickを使う

それぞれの方法について詳しく見ていきましょう。

sys.argvを使う

Pythonの標準ライブラリのsysを使用して引数を取得します。以下にそのコードの例を示します。

import sys

def main() -> None:
    args = sys.argv
    print(args)

if __name__=='__main__':
    main()

このコードを実行すると、コマンドラインから与えられた引数がリストとして出力されます。

argparseを使う

argparseはコマンドライン引数専用のPython標準ライブラリです。Help機能や型の指定などができます。以下にそのコードの例を示します。

import argparse

def main() -> None:
    parser = argparse.ArgumentParser(description='説明')
    parser.add_argument('description', help='引数の説明')
    parser.add_argument('hoge', help='hogehoge')
    parser.add_argument('--foo', help='option')
    args = parser.parse_args()
    print(args.description)
    print(args.hoge)
    print(args.foo)

if __name__ == "__main__":
    main()

このコードを実行すると、コマンドラインから与えられた引数がそれぞれの変数に格納され、出力されます。

clickを使う

clickはPythonのコマンドラインパーサです。Python標準ライブラリではないため別途インストールが必要ですが、わかりやすさと使いやすさで上記2つを抜いています。以下にそのコードの例を示します。

import click

@click.command()
@click.option('--args', prompt=True, help='説明')
@click.option('--hoge', prompt=True, is_flag=True, help='hogehoge')
def main(args: str, hoge: bool) -> None:
    if hoge:
        print(args)

if __name__ == "__main__":
    main()

このコードを実行すると、コマンドラインから与えられた引数がそれぞれの変数に格納され、出力されます。

以上がPythonでコマンドライン引数を取得する主な方法です。それぞれの方法にはメリットとデメリットがありますので、用途に応じて適切な方法を選択してください。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です