python argparse 명령 행 매개 변수 분석(추천)

argparse 는 python 이 명령 행 파라미터 와 옵션 을 분석 하 는 표준 모듈 입 니 다.
터미널 창 에 훈련 된 인자 와 옵션 을 입력 하기 위해 명령 행 인 자 를 분석 하 는 프로그램 이 필요 할 때 가 많 습 니 다.
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 명령 행 매개 변수 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 지원 바 랍 니 다!

좋은 웹페이지 즐겨찾기