본문 바로가기
파이썬

파이썬 python argparse : 인식 할 수없는 인수

by º기록 2021. 1. 15.
반응형

parsePlotSens.py -s bw hehe 를 실행하면 hehe 가 인식 할 수없는 인수라고 표시됩니다. 그러나 parsePlotSens.py hehe -s bw 를 실행하면 괜찮습니다. 이상적으로는 두 경우 모두 작동하고 싶습니다.

팁이 있습니까? 다음은 내 코드입니다.

if __name__ == '__main__' :

    parser = argparse.ArgumentParser(prog='parsePlotSens');
    parser.add_argument('-s', '--sort', nargs =1, action = 'store', choices = ['mcs', 'bw'], default='mcs', help=sorthelp)
    parser.add_argument('filename', nargs ='+', action = 'store')
    option = parser.parse_args(sys.argv)

 

해결 방법

 

parse_args 에 대한 인수로 sys.argv 를 전달하지 마십시오. 그냥 사용

option = parser.parse_args()

sys.argv parse_args 에 전달하면 스크립트 자체의 경로 또는 이름이 sys.argv 의 첫 번째 항목이므로 option.filename 의 값이됩니다. 그러면 hehe 는 알 수없는 인수가됩니다.

sys.argv 를 생략하면 parse_args 가 예상대로 sys.argv 를 구문 분석합니다.

 

참조 페이지 https://stackoverflow.com/questions/17118999

 

 

반응형

댓글