通常、サブパーサーを定義する方法は次のとおりです。
master_parser = argparse.ArgumentParser()
subparsers = master_parser.add_subparsers()
parser = subparsers.add_parser('sub')
parser.add_argument('--subopt')
サブパーサーは次のように呼び出されます
command sub --subopt
多数のコンバーターを呼び出すパッケージを実装しています。通常のサブパーサーのアプローチを使用する場合、私はしなければならないでしょう
convert ext1_to_ext2 file.ext1 file.ext2 --args
ユーザーが電話をかける可能性があるため、これは反復的でエラーが発生しやすいものです。
convert ext1_to_ext3 file.ext1 file.ext2 --args
ユーザーがコマンドを使用できるように、サブパーサーがマスターパーサーから自動的に決定されることを強く望みます
convert file.ext1 file.ext2 EXTRA
andはandからargparse
サブパーサーを決定し、そのサブパーサーを呼び出してparse します。もちろん、ここはサブパーサー固有です。ext1_to_ext2
file.ext1
file.ext2
ext1_to_ext2
EXTRA
EXTRA
各コンバーター ( add_argument_group
) にパラメーターのグループを使用しようとしましたが、引数グループのパラメーターは重複できず、すべてのパーサーから結合された引数の乱雑なリストを取得したため、サブパーサーを使用する方法のようです。
2 つの位置引数を使用して、適切なサブパーサーを決定して使用し、残りの引数を解析しようとしましparse_known_args
たが、ヘルプ メッセージからコンバーターとその引数のリストをユーザーに提供するのは困難です。
これを行う方法はありますか?