備忘録

【Python】Pythonのargparseの使い方

前提

Python: 3.12

Pythonでコマンドライン引数を扱うための標準モジュール

argparseは、ユーザーフレンドリーなコマンドラインインターフェースをPythonスクリプトに実装するためのモジュール。

主な機能

  • 引数の定義: add_argument() 関数を使って、名前、型、ヘルプメッセージ、デフォルト値など、引数の詳細を定義する。
  • 引数の解析: parse_args() 関数が自動的にコマンドラインを解析し、定義した引数に基づいて値を抽出する。
  • ヘルプメッセージの自動生成: -h--help オプションを指定すると、定義した引数情報に基づいた分かりやすいヘルプメッセージが表示される。
  • バリデーション: 入力値の型チェックや範囲チェックなど、基本的なバリデーション機能を提供する。

使用例

import argparse

# パーサーを作成
parser = argparse.ArgumentParser(description='My simple script')

# 引数を追加
parser.add_argument('filename', type=str, help='Input filename')
parser.add_argument('-n', '--number', type=int, default=10, help='Number of times (default: 10)')

# 引数を解析
args = parser.parse_args()

# 引数を使用
print(f'Processing {args.filename} {args.number} times.')

実行例

$ python script.py input.txt -n 5
Processing input.txt 5 times.

関連記事

  • 【Python】正規表現 reモジュールの使い方
    前提 Python: 3.12 参考 re — Regular expression operations — Python 3.12.3 ドキュメント 基本 import re m = re.search('a.c', 'abcdef') m.group(0) よく使う特殊文字 . 任意の一文字にマッチ a.c は “abc”, “a1c” などにマッチ * 直前の文字の0回以上の
  • 【Python】Pythonでファイルの読み書きをする
    前提 Python: 3.12 基本 with open(file_name, 'w', encoding='utf-8') as f: f.write('Sample') 参考 7.2. ファイルを読み書きする — 7. 入力と出力 — Python 3.12.3 ドキュメント モードの指定 ‘r’ 読み込み用に開く (デフォルト) ‘w’ 書き込み
  • 【Python】文字列の基本【定義・結合】
    前提 Python: 3.12 参考 テキストシーケンス型 — str — 組み込み型 — Python 3.12.3 ドキュメント 定義 文字列を定義するには以下の記述方法がある。 シングルクォート' ダブルクォ
  • 【Python】while文の使い方
    前提 Python: 3.12 基本 条件式の値が真(True)の間繰り返し実行する。 while 条件式: 処理 else: 処理 i = 0 while i < 5: if i == 2: i += 1 continue if i == 3: break print(i) i += 1 参考 8.2. while 文 —
  • 【Python】Range関数の使い方
    前提 Python: 3.12 参考 range — 組み込み型 — Python 3.12.3 ドキュメント 4.3. range() 関数 — 4. その他の制御フローツール — Python 3.12.3 ドキュメント range関数とは range関数とは指定し