args가 지정되지 않은 경우 이름 공간 (my_attribute = [ 'A', 'B', 'C']) 또는 myscript
을 반환해야하는 myscript A B C
과 같은 cli를 실행하고 싶습니다. 즉 네임 스페이스 (my_attribute = [ 'A', 'B', 'C', 'D'])Argparse 위치 지정 인수 또는 기본값
이게 가능합니까?
- nargs = '+'는 적어도 1 명령 행 인수를 필요로하거나
- nargs = 오류 제기 '?'라는 그것은 작동해야처럼
- nargs의 = '*'이 보인다 1 개 또는 0 인수 걸리지 만 add_argument에 지정된 기본 목록()
나는 순간에 아래가 발생하지 않습니다.
parser.add_argument(
dest='my_attribute',
choices=('A', 'B', 'C', 'D'),
nargs='*',
default=['A', 'B', 'C', 'D'],
)
** 편집
예를 들어이 작동하지만, 나는 내가 사용하고 싶지 않는 B. 전에 -attr
을 지정해야 -attr
parser.add_argument(
'-attr',
dest='my_attribute',
choices=['A','B', 'C', 'D'],
nargs='+',
default=['A','B', 'C', 'D'],
항상 3 개의 args를 지정해야하지 않습니까? 나는 args를 지정하지 않을 때 기본값을 반환하면서 0에서 4까지의 args를 지정할 수 있기를 원합니다. – puffin
4 개의 args에 대한 답변을 업데이트했습니다 :) –
이'choices'를 사용하면 사용법이 다음과 같습니다.'usage : PROG [-h] {} {} {}'. – hpaulj