반응형
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
반응형
'파이썬' 카테고리의 다른 글
파이썬 Python Bytearray 인쇄 (0) | 2021.01.15 |
---|---|
파이썬 Pandas를 사용하여 데이터 프레임을 저장하는 방법 (0) | 2021.01.15 |
파이썬 목록의 요소 수를 어떻게 얻습니까? (0) | 2021.01.15 |
파이썬 Convert DataFrame column type from string to datetime, dd/mm/yyyy format (0) | 2021.01.15 |
파이썬 How do I split a multi-line string into multiple lines? (0) | 2021.01.14 |
댓글