>

그래서 argparse를 사용하여 두 개의 항목이있는 상호 배타적 인 그룹을 만들었습니다. 필수 항목 중 하나는 항상 전달되므로 required=True 로 그룹을 만들었습니다. .

올바로 작동하고 있습니다. 둘 중 하나를 사용하여 스크립트를 호출하지 않으면 error: one of the arguments --foo --bar is required 에서 실패합니다.

그러나 -h 로 방금 실행하면 문제가 발생합니다.  또는 --help . 이 매개 변수를 선택 사항으로 나열하지만 그렇지 않습니다.

optional arguments:
  -h, --help            show this help message and exit
  --foo                 foo
  --bar                 bar
required arguments:
  --alice               alice

필요에 따라 목록을 표시 할 솔루션이 있습니까? add_mutually_exclusive_group() 로   title 를 지원하지 않습니다  매개 변수, 나는 add_mutually_exclusive_group('must pick one', required=True) 와 같은 것을 할 수 없습니다

  • 답변 # 1

    파이썬 이슈 트래커에서 공개 된 이슈이지만 간단한 해결책이 있습니다.

    제목이있는 그룹을 만들고 해당 그룹에 상호 배타적 인 그룹을 추가하십시오 :

    parser = argparse.ArgumentParser()
    g1 = parser.add_argument_group(title='Foo Bar Group', description='One of these options must be chosen.')
    g2 = g1.add_mutually_exclusive_group(required=True)
    g2.add_argument('--foo',help='Foo help')
    g2.add_argument('--bar',help='Bar help')
    
    

    폴의 예식.

관련 자료

  • 이전 파이썬에서 메뉴를 만드는 데 도움이 필요합니다
  • 다음 reactjs - TypeScript를 사용하여 다른 클래스에서 가져 오려고 할 때 createElement 오류가 발생했습니다