这是一个简单的例子。
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'])