通常、 '-abbb'のようなオプションを連結できます。このオプションは '-a -b -b -b'に展開されます。カウントはaの場合は1、bの場合はabd 3となります。 prefix_charsを混合する際Python argparseオプションの連結
は、しかし私は、これは、その結果実行
import argparse
parser = argparse.ArgumentParser(prefix_chars='-+')
parser.add_argument('-x', action='count', dest='counter1')
parser.add_argument('+x', action='count', dest='counter2')
args = parser.parse_args('-xxx +xxx -xxx'.split())
print('counter1 = ' + str(args.counter1))
print('counter2 = ' + str(args.counter2))
...別の何かを参照してください。
counter1 = 8
counter2 = 1
どうやら '+ XXX'「に展開しません+ x + x + x 'ではなく、' + x -x -x 'である。 '+ - ' にprefix_charsを変更
で結果:
counter1 = 2
counter2 = 7
今 '-xxxは' '-x + X + X' に展開されます。
これは定義された動作ですか、何か不足していますか?
私はこの振る舞いを再現することができません。Python 3.5.1では、一貫して6と3が得られます。 – Evert
6と3もPython 2.7のため – AK47
私はアイドル状態でインタラクティブに試してみましたが、6と3の結果も出ました。 –