Python 명령 행 매개 변수 정의 및 주의 할 점
1 일반적인 용법
Python 코드 에 서 는 명령 줄 에 값 을 부여 해 야 할 인 자 를 정의 하고 가 져 오 는 데 주로 다음 줄 코드 를 사용 합 니 다.
import argparse
parser = argparse.ArgumentParser("Description.") # ――――1――――
parser.add_argument('--test1', type=str, default="1", help="Test1 help.") # ――――2――――
parser.add_argument('--test2', type=float, default=2.1, help="Test2 help.") # ――――2――――
args = parser.parse_args() # ――――3――――
print(args)
test1, test2 = args.test1, args.test2 # ――――4――――
print(type(test1), test1, test1 + " add test")
print(type(test2), test2, test2 + 100)
설명:1.외부 매개 변수 대상 인 스 턴 스 를 가 져 옵 니 다.전체 외부 인 자 를 설명 하기 위해 문자열 을 입력 할 수 있 습 니 다.
2.외부 매개 변 수 를 정의 하고 여러 번 호출 하여 여러 외부 매개 변 수 를 정의 할 수 있 습 니 다.함수 의 첫 번 째 매개 변 수 는 외부 매개 변수의 이름 입 니 다.두 개의 마이너스 로 시작 하 는 것 을 권장 합 니 다.중간 에 숫자 자모 밑줄 이외 의 기 호 를 사용 하지 마 십시오.그렇지 않 으 면 오류 가 발생 하기 쉽 습 니 다.type 은 외부 매개 변수 가 들 어 와 서 변환 하 기 를 원 하 는 형식 입 니 다.예 를 들 어 test 1 은 str 로 정의 합 니 다.명령 행 인삼 이 따옴표 를 추가 하지 않 더 라 도 함수 가 문자열 로 변환 합 니 다.(물론 따옴표 문자열 을 추가 하지 않 으 면 빈 칸 을 사용 할 수 없습니다.)그리고-test 2 는 float 입 니 다.명령 행 에 따옴표 가 있 더 라 도 숫자 로 바 꿀 수 있 으 면 함수 가 float 형식 으로 바 뀔 수 있 습 니 다.default 는 외부 매개 변수의 기본 값 입 니 다.명령 행 이 외부 매개 변수 할당 에 기본 값 을 사용 하지 않 으 면 함수 가 정의 한 기본 값 을 type 으로 변환 하지 않 기 때문에 default 은 type 이 지정 한 형식 으로 직접 정의 하 는 것 이 좋 습 니 다(예 를 들 어-test 1 의 default 은 1 이 아 닌'1'로 정의 합 니 다).help 는 현재 외부 매개 변수 에 대한 설명 을 전달 합 니 다.명령 행 에서 사용 하 는--help 출력 은 바로 이것 입 니 다.
3.외부 매개 변 수 를 분석 합 니 다.사전 과 유사 한 네 임 스페이스 를 전달 하지만 키 색인 대신 속성 을 사용 하여 이름 에 해당 하 는 외부 매개 변수 값 을 가 져 옵 니 다.
4.속성 을 가 져 오 는 방식 으로 외부 인 자 를 가 져 옵 니 다.
주의해 야 할 것 은 외부 매개 변수의 정 의 는 외부 매개 변 수 를 가 져 오기 전에 써 야 한 다 는 것 이다.즉,parser.addargument()는 parser.parse 에 써 야 합 니 다.args()이전,그렇지 않 으 면 외부 매개 변 수 는 명령 행 에 포착 되 지 않 습 니 다.또한 코드 에 parser.parse 가 없 으 면args(),명령 행 은 전 삼 할 수 없습니다.
명령 행 으로 상기 코드 를 실행 하고 명령 과 출력 은 다음 과 같 습 니 다(상기 코드 는 test.py 로 저 장 됩 니 다).
이 를 통 해 알 수 있 듯 이 일부러 숫자 와 문자열 의 방식 으로 문자열 과 float 형식의 외부 매개 변 수 를 할당 하고 함 수 는 연산 에 정확하게 전환 하고 정확하게 참여 할 수 있 습 니 다.
기본 값 을 사용 할 때 다음 과 같이 출력 합 니 다.
2 주의 사항
이상 의 실험 을 통 해 argparse 라 이브 러 리 는 외부 매개 변 수 를 여러 가지 유형 으로 정확하게 변환 할 수 있 을 것 같 습 니 다.변환 만 가능 하 다 면.다음은 numpy 배열 에 들 어 갈 수 있 는 지 시험 해 보 겠 습 니 다.코드 는 다음 과 같 습 니 다:
import numpy as np
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--array', type=np.array, default=np.array([1,2]))
args = parser.parse_args()
print(args)
array = args.array
print(type(array))
print(array)
print(array + 1)
기본 값 사용 시:실행 이 올 바 르 지만 외부 매개 변수 에 들 어 가 려 고 할 때:
들 어 오 는[1,2]가 numpy.ndarray 형식 으로 바 뀌 었 음 에 도 불구 하고 연산 에 참여 할 수 없습니다.따라서 모든 유형 이 명령 행 에 들 어 오 는 것 은 아니다.
이상 은 Python 명령 행 매개 변수 정의 및 주의해 야 할 부분 에 대한 상세 한 내용 입 니 다.Python 명령 행 매개 변수 에 대한 자 료 는 다른 관련 글 을 주목 하 십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.