Pythonヒント: コマンドライン引数の便利ライブラリ

Programing-Language-Python

 Pythonにはコマンドラインオプションを便利に利用するライブラリがあります。CLIツールを作る歳などに活用すると便利です。このライブラリはPythonの標準なので何もインストールする必要はありません

プログラム例

import argparse
import sys

if __name__ == "__main__":
    parser = argparse.ArgumentParser(
        description="プログラムの説明や機能の解説など",
        formatter_class=argparse.ArgumentDefaultsHelpFormatter
    )
    parser.add_argument("--table", type=int, help="数値を引数にとるオプション。")
    parser.add_argument("--force", action="store_true", help="True/Falseフラグ")
    parser.add_argument("--yes", action="store_true", help="True/Falseフラグ")
    parser.add_argument("--email", type=str, help="文字列を引数にとるオプション")
    parser.add_argument("--username", type=str, default="デフォルト値", help="文字列を引数にとるオプション")

    # 引数をなにも指定しなかったらヘルプ表示
    if len(sys.argv) == 1:
        parser.print_help()
        sys.exit(0)

    # コマンドラインパラメータを解釈
    args = parser.parse_args()

    # フラグとパラメータ指定の有無判断の例
    if args.force and args.email is None:
        print("強制実行:メール指定なし")
        sys.exit(0)

    # 指定された引数を渡してサブルーチンコール(サブルーチンがあるつもりの例)
    def main_routine(table, username):
        print(f"table: {table}, username: {username}")

    main_routine(args.table, args.username)
タイトルとURLをコピーしました