2017-04-20 3 views
0

기본적으로 argparse을 통해 스크립트에 보낼 매개 변수 구성이 10-50 개 더 있습니다. 파이썬 스크립트에서이 매개 변수를 모두 구성하고 싶지는 않습니다.이동 중에도 argparse 인수 추가

스크립트 만 실행 중이므로 보안상의 문제는 없습니다. 내 스크립트의 인수로 parameter 중 하나를 설정하지 않고

python myScript.py -parameter value -parameter2 value2 -parameter30 value30 

내 스크립트를 호출 할 수있는 방법이 있습니까? 또는 동일한 효과를 가진 다른 것 - 기능의 아날로그 **kwargs?

+0

당신은 단지 키 - 값 쌍으로 변환 할 수 있습니다. 그리고 원하는 경우 직접 사용할 수 있습니다. argsparse를 사용할 필요가 없습니다. – Netwave

+0

일반화 된'key = value' 입력을 파싱하는 것에 대한 이전의 질문이 있습니다. 그러나'argparse'는 프로그래머 인 여러분에게 입력 구조를 제어하는 ​​것을 목표로합니다. 자유형 입력을 위해서는'sys.argv'리스트를 직접 읽기가 더 쉽습니다. – hpaulj

답변

3

구성 매개 변수는 어디에 정의되어 있습니까? 프로그램에 이러한 매개 변수의 목록이있는 경우 항상 모든 매개 변수를 추가하기 위해 루프를 사용할 수 있습니다. 알 수없는 옵션과 관련된 0, 1 또는 많은 인수를 할 것인지 방법이 없기 때문에

for parameter_name in parameter_names: 
    argparser.add_argument('--' + parameter_name, action='store', metavar='<string>') 

는 알 수없는 옵션을 자동으로 분석 할 수있는 방법이 없습니다. 그러나 parse_known_args을 사용하여 알 수없는 옵션의 파싱을 지연시킬 수 있습니다.

관련 문제