2

現在、次のコードがあります。

import argparse

parser = argparse.ArgumentParser(description='Adds a new modem to Iridium account')
parser.add_argument('imei', metavar='I', nargs=1, help='the modems IMEI')
parser.add_argument('-t1', '--type1', metavar='t1', nargs=1, choices=('email', 'directip', 'sbddevice'), default='directip', help='Call type (default: directip)')
parser.add_argument('-a1', '--address1', metavar='a1', nargs=1, default='75.101.138.217:9097', help='Call address (default: 75.101.138.217:9097)')
parser.add_argument('-t2', '--type2', metavar='t2', nargs=1, choices=('email', 'directip', 'sbddevice'), help='Call type')
parser.add_argument('-a2', '--address2', metavar='a2', nargs=1, help='Call address')
parser.add_argument('-t3', '--type3', metavar='t3', nargs=1, choices=('email', 'directip', 'sbddevice'), help='Call type')
parser.add_argument('-a3', '--address3', metavar='a3', nargs=1, help='Call address')
parser.add_argument('-t4', '--type4', metavar='t4', nargs=1, choices=('email', 'directip', 'sbddevice'), help='Call type')
parser.add_argument('-a4', '--address4', metavar='a4', nargs=1, help='Call address')
parser.add_argument('-t5', '--type5', metavar='t5', nargs=1, choices=('email', 'directip', 'sbddevice'), help='Call type')
parser.add_argument('-a5', '--address5', metavar='a5', nargs=1, help='Call address')

args = parser.parse_args()

すべての -t と -a を -m1、-m2、-m3、-m4、-m5 に結合する方法はありますか?ここで、t は引数の最初の値で、以下の同じ選択肢と -a は 2 番目です。引数ですが、最初の値と同じ選択肢に制限されていませんか? そうしないと、ユーザーが一方を提供する場合、もう一方を提供する必要があるため、t1 と a1 があるかどうかを確認するために、後で一連のチェックを行う必要があります。

だから、する代わりに、-t1 email -a1 test@email.comあなたはただすることができます-m1 email test@gmail.com

4

2 に答える 2

2

これが将来の誰かに役立つかどうかはわかりませんが、私はアレックスが提案したことをやることになりました。ポートでIPアドレスを処理する必要があったため、~代わりに使用したのは唯一のものであり、使用すると問題が発生します。::

于 2010-07-30T15:53:05.137 に答える