python argparse 명령 행 매개 변수 분석(추천)
터미널 창 에 훈련 된 인자 와 옵션 을 입력 하기 위해 명령 행 인 자 를 분석 하 는 프로그램 이 필요 할 때 가 많 습 니 다.
argparse 모듈 은 사용자 의 우호 적 인 명령 행 인 터 페 이 스 를 쉽게 작성 할 수 있 습 니 다.
프로그램 이 필요 한 인 자 를 정의 한 다음 에 argparse 는 sys.argv 에서 그 인 자 를 어떻게 해석 하 는 지 알 게 될 것 입 니 다.argparse 모듈 은 도움말 과 사용 매 뉴 얼 을 자동 으로 생 성하 고 사용자 가 프로그램 에 잘못된 매개 변 수 를 입력 하여 오류 정 보 를 보 냅 니 다.
test.py
# -*- coding: utf-8 -*-
import argparse
# (1) parser , Python 。
ap = argparse.ArgumentParser(description='Process some integers.')
# (2)
ap.add_argument("first") # , first
ap.add_argument("--digit", type=int, help=" ") # int
ap.add_argument("--name", help=" ", default="dog") # ,default
# (3)
args = ap.parse_args()
# (4)
print(args.first)
print(args.digit)
print("name = {}".format(args.name))
호출
python test.py position_arg --name qwe
ArgumentParser 대상(1)prog-프로그램의 이름(기본 값:sys.argv[0])
(2)usage-프로그램의 용 도 를 설명 하 는 문자열(기본 값:해상도 기 에 추 가 된 매개 변수 생 성)
(3)description-인자 도움말 문서 뒤에 표 시 된 텍스트(기본 값:없 음)
(4)epilog-매개 변수 도움말 문서 뒤에 표 시 된 텍스트(기본 값:없 음)
(5)parents-ap 대상 의 목록,매개 변수 도 포함 되 어야 합 니 다.
(6)formatter_class-도움말 문서 출력 형식 을 사용자 정의 하 는 클래스
(7)prefix_chars-선택 가능 한 인자 의 접두사 문자 집합(기본 값:'-')
(8)fromfile_prefix_chars-파일 에서 다른 파 라 메 터 를 읽 어야 할 때 파일 이름 을 표시 하 는 접두사 문자 집합(기본 값:None)
(8)argument_default-매개 변수의 전역 기본 값(기본 값:None)
(9)conflict_handler-충돌 해결 옵션 의 정책(보통 불필요 합 니 다)
(10)add_help-해상도 기 에-h/help 옵션 추가(기본 값:True)
(11)allow_abbrev-줄 임 말 이 다른 뜻 이 없 으 면 줄 임 말 길 이 를 허용 합 니 다(기본 값:True)
add_argument()방법
(1)name or flags-이름 이나 옵션 문자열 의 목록 입 니 다.(예 를 들 어 foo 또는 f,--foo)
(2)action-이 옵션 이 실행 할 동작 을 표시 합 니 다.
(3)default-기본 값
(4)dest-매개 변수의 위 치 를 지정 하여 parse 에 추가 합 니 다.args()가 대상 의 속성 명 을 되 돌려 줍 니 다.
(5)type-매개 변수 형식 입 니 다.(예 를 들 어 int)
(6)choices-입력 매개 변수의 범 위 를 선택 합 니 다.(예 를 들 어 choice=[1,5,10])
(7)help-이 옵션 의 역할 을 설명 합 니 다.
(8)nargs-명령 행 인자 가 소모 해 야 할 수 입 니 다.
(9)const-일부 action 과 nargs 에 의 해 필요 한 상수 가 선택 되 었 습 니 다.
(10)required-이 명령 행 옵션 을 생략 할 수 있 습 니까?(옵션 만 사용 가능)
(11)metavar-사용 방법 메시지 에서 사용 하 는 매개 변수 값 예제.
import argparse
import logging
"""
" File Description:
" dump model && deploy
"
" Created by zz on 2021/6/22.
" Mail: [email protected]
"""
logging.basicConfig(level=logging.DEBUG)
def parse_args():
ap = argparse.ArgumentParser(prog="deploy tool", description='dump or calib model && deploy')
ap.add_argument("deploy_path", type=str, help="deploy base path")
ap.add_argument("exp_name", type=str, help="train exp name")
subparser = ap.add_subparsers(title="model deploy subparser", dest="mode")
# subparser
model_deploy_parser = subparser.add_parser("model", help="model deploy")
model_deploy_parser.add_argument("--default", default=False, type=bool, help="whether that's default model")
calib_deploy_parser = subparser.add_parser("calib", help="offline calib deploy")
calib_deploy_parser.add_argument("--input", required=True, type=str, help="model offline calib file")
args = ap.parse_args()
return args
# global args
args = parse_args()
mode = args.mode
deploy_path = args.deploy_path
exp_name = args.exp_name
def main():
if mode == "model":
_deploy_model()
elif mode == "calib":
_deploy_calib()
else:
logging.error( "Mode error")
if __name__ == '__main__':
main()
python argparse 명령 행 매개 변수 분석 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 python argparse 명령 행 매개 변수 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 지원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.