1. 背景
プロジェクトに多くの入力パラメータがあり、変更やデバッグが必要な場合、パラメータの形式とパスが関係することがよくあります。コードを1 行ずつ変更すると、非常に面倒になり、エラー率も高くなります。argparse モジュールは、この問題を解決するように設計されています。
2、役割
argparse は、Python に付属するコマンド ライン パラメータ解析パッケージです。つまり、コマンド ライン パラメータを簡単に読み取るために使用できる、パラメータを渡すためのライブラリです。このモジュールは、コマンドラインから必要なパラメータまたはファイルパスを均一に呼び出し、入力パラメータの読み取り作業を一度に完了でき、変更がより便利でユーザーフレンドリーです。
3. 手順と使い方
3.1 argparse ライブラリのインポート
import argparse
3.2 解析オブジェクトの作成
ape = argparse.ArgumentParser(description= '命令行中传入参数')
ArgumentParser オブジェクトには、コマンド ラインを Python データ型に解析するために必要なすべての情報が含まれています。description の文字列は、解析ポートのカスタム説明です。
使用法: ArgumentParser オブジェクト
class argparse.ArgumentParser(prog=None, usage=None, description=None, epilog=None, parents=[], formatter_class=argparse.HelpFormatter, prefix_chars='-', fromfile_prefix_chars=None, argument_default=None, conflict_handler='error', add_help=True, allow_abbrev=True)
- prog : プログラムの名前 (デフォルト: sys.argv[0])
- use : プログラムの使用方法を説明する文字列 (デフォルト: パーサーに追加された引数から生成)
- description : パラメータのヘルプドキュメントの前に表示するテキスト (デフォルト: なし)
- エピローグ : ヘルプドキュメントの後に表示するテキスト (デフォルト: なし)
- parents : 引数も含める必要がある ArgumentParser オブジェクトのリスト
- formatter_class : ヘルプドキュメントの出力形式をカスタマイズするために使用されるクラス
- prefix_chars : オプションのパラメータのプレフィックス文字のセット (デフォルト: '-')
- fromfile_prefix_chars : ファイルから他のパラメータを読み取る必要がある場合にファイル名を識別するために使用されるプレフィックス文字のセット (デフォルト: なし)
- argument_default : 引数のグローバルデフォルト値 (デフォルト: なし)
- conflict_handler : 競合するオプションを解決するための戦略 (通常は不要)
- add_help : パーサーに -h/-help オプションを追加します (デフォルト: True)
- allow_abbrev : 省略形が一義的であれば、省略された長いオプションを許可します (デフォルト: True)
3.3 add_argument メソッドによるパラメータの追加
ape.add_argument("-i ", "--image", required=True, help="path to input image")
ape.add_argument("-t", "--template", required=True, help="path to template OCR-A image")
コマンドライン引数とオプションをこのオブジェクトに追加します。各 add_argument メソッドはパラメーターまたはオプションに対応します。
使用法: add_argument メソッド
ape.add_argument(name...[, action][, nargs][, default][, type][, choices][, required][, help])
3.4 parse_args() メソッドを呼び出してパラメータを解析する
args = vars(ape.parse_args())
このステートメントは、パラメータが解析され、入力パラメータが args に格納されることを示します。
4. デバッグ方法
例: Pycharm を通じてプロジェクトのいくつかの画像を入力し、デバッグ プロセス中に画像の置換を完了します。
import argparse
ap = argparse.ArgumentParser()#创造一个解析器对象
ap.add_argument("-i ", "--image", required=True, help="path to input image")#添加image的
ap.add_argument("-t", "--template", required=True, help="path to template OCR-A image")#添加template的
args = vars(ap.parse_args())
プロジェクトを初めて実行するには、次の形式に従って構成パラメータにプロジェクトを追加する必要があります: (スペースに注意してください)
-i 路径加image文件名称 -t 路径加template文件名称
次の図に示すように、
同じパス内の他のファイルを置き換える場合は、名前を直接変更するだけです。