입력 중 하나를 기반으로 특정 객체를 초기화하고 싶습니다. 이러한 개체의 값은 나머지 인수에 대한 기본값이됩니다. parser.parse_args() 전에 인수 중 하나의 값이 필요합니다. 어떻게 파이썬 argparse 모듈로 이것을 달성 할 수 있습니다. 모든 옵션은 하나의 명령 행으로 제공됩니다.다른 인수의 값을 기반으로 인수를 추가하십시오.
기본값은 도움이 필요합니다. 이 값은 객체에서옵니다.
def cli():
option1 = None
parser = argparse.ArgumentParser()
parser.add_argument('--option1', help=argparse.SUPPRESS)
#option1 = value from --option1
abc(option1)
parser.add_argument('--option2', default=abc.getValue())
args = parser.parse_args()
어떻게하면됩니까?
가능한 모든 인수를 구문 분석하여 선택적 인수에 대해 기본값을 'None'으로 설정 한 다음 필요에 따라 값을 업데이트 할 수 있습니다. 당신이 버리는 몇 가지 변수를 초기화하는 데 아무런 해가 없습니다. – Geekfish
모든 명령 줄 인수는 사용하는 옵션 처리 모듈에 관계없이 처음에는'sys.argv' 목록에 저장됩니다. 원하는 인수에 대해 해당 목록을 스캔하여 값을 얻을 수 있습니다. – TheSoundDefense
옵션의 기본값은 사용자의 도움말에 표시되어야합니다. 기본값은 오브젝트 초기화에 따라 변경됩니다. 나는 실제 질문도 편집하고있다. – user1588281