Python 명령 행 매개 변수 정의 및 주의 할 점

명령 행 에서 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 명령 행 매개 변수 에 대한 자 료 는 다른 관련 글 을 주목 하 십시오!

좋은 웹페이지 즐겨찾기