여기에 간단한 예제가 있습니다.argparse와 같은 dest 속성으로 디폴트 값을 설정하시오.
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()))
결과 : set_defaults 라인없이
Namespace(letter=['a', 'b', 'a'])
Namespace(letter=['a', 'b', 'b'])
Namespace(letter=['a', 'b'])
는, 결과는 다음과 같습니다
Namespace(letter=['a'])
Namespace(letter=['b'])
Namespace(letter=None)
어떻게 그런 결과를 argparse를 구성 할 수 있습니다?
Namespace(letter=['a'])
Namespace(letter=['b'])
Namespace(letter=['a', 'b'])
를 얻을 수 있습니다. 따라서 argparse defaults possiblities를 사용하는 해결책은 없습니다. – MB4E