引数を解析する際にargparseモジュールを使用して検証を追加することは可能ですか?Python:引数の構文解析のベストプラクティス
from argparse import ArgumentParser
parser = ArgumentParser(description='Argument parser for PG restore')
parser.add_argument('--database', dest='database',
default=None, required=False, help='Database to restore')
parser.add_argument('--backup', dest='backup',
required=True, help='Location of the backup file')
parsed_args = parser.parse_args()
この引数パーサーに検証チェックを追加して、バックアップファイル/データベースが存在することを確認することは可能でしょうか?この後に余分なチェックを追加する必要はありません。
from os.path import exists
if not database_exists(parsed_args.database):
raise DatabaseNotFoundError
if not exists(parsed_args.backup):
raise FileNotFoundError
偉大な答え!私はargparse.ArgumentTypeError(メッセージ)をコンソールに 'メッセージ'を印刷するために使用することをお勧めしたいと思います。 – tabata