ここに簡単な例があります。
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-a', action = 'append_const', dest = 'letter', const = 'a')
parser.add_argument('-b', action = 'append_const', dest = 'letter', const = 'b')
parser.set_defaults(letter = ['a', 'b'])
print(parser.parse_args('-a'.split()))
print(parser.parse_args('-b'.split()))
print(parser.parse_args(''.split()))
結果 :
Namespace(letter=['a', 'b', 'a'])
Namespace(letter=['a', 'b', 'b'])
Namespace(letter=['a', 'b'])
set_defaults 行がない場合、結果は次のようになります。
Namespace(letter=['a'])
Namespace(letter=['b'])
Namespace(letter=None)
そのような結果に対して argparse を構成するにはどうすればよいですか?
Namespace(letter=['a'])
Namespace(letter=['b'])
Namespace(letter=['a', 'b'])