728x90
argument란?
- parameter (매개변수) : 함수를 구현하는 쪽과 함수를 사용하는 쪽을 매개하는 변수
- argument (전달값, 전달인자, 인자, 인수 등) : 함수를 사용하는 사람이 매개변수에 집어 넣는 값
argparse
- python script 개발 시 하나의 Script의 동작을 여러 상황에 따라 다르게 동작하도록 할 때 사용
- python에서 arugment를 사용하기 위해서 내장함수 argparse 모듈 사용
- 다른 동작을 만들어 내기 위해 Script 실행 시 Argument를 붙여서 원하는 옵션 지정
주요 모듈
- argparse 라이브러리 설치 및 import하기
- ArgumentParser() : argument를 받기 위한 객체 만들기
- add_argument() : 만든 객체에 argument 추가하기
- parse_args() : argument 분석하기
예제
## argparse 설치 및 import
import argparse
## argument를 받기 위한 객체 만들기
parser = argparse.ArgumentParser()
## 객체에 argument 추가하기
### 필수 argument 추가
parser.add_argument('arg_A', type=int) # type이 int인 arg_A 이름의 필수 인자 추가
parser.add_argument('arg_B', type=str) # type이 str인 arg_B 이름의 필수 인자 추가
### 옵셧 argument 추가
parser.add_argument('-C', '--arg_C', type=str, default='cocoa')
# type이 str인 arg_C 이름(약어 C)인 옵션 인자 추가(미입력시 초기값 cocoa)
## argument 분석
args = parser.parse_args()
print("arg는 뭘까?")
print(args)
위와 같은 파이썬 스크립트를 argument.py 파일로 만들고 이것을 터미널에서 실행해보았다.
(TEST_ENV) D:\TEST_PY>python argument.py
usage: argument.py [-h] [-C ARG_C] arg_A arg_B
argument.py: error: the following arguments are required: arg_A, arg_B
(TEST_ENV) D:\TEST_PY>python argument.py 5 BB
arg는 뭘까?
Namespace(arg_A=5, arg_B='BB', arg_C='cocoa')
첫번째는 필수 argument인 arg_A와 arg_B를 입력하지 않아서 오류가 발생하였다. 하여 다시 arg_A 인자로 5, arg_B 인자로 BB를 입력해주었더니 제대로 동작하여 argument가 출력된 것을 확인 할 수 있다.
인수 지정 정보를 확인하고 싶으면 -h를 지정하면 된다.
(TEST_ENV) D:\TEST_PY>python argument.py -h
usage: argument.py [-h] [-C ARG_C] arg_A arg_B
positional arguments:
arg_A
arg_B
optional arguments:
-h, --help show this help message and exit
-C ARG_C, --arg_C ARG_C
728x90
'파이썬(Python) > vs code' 카테고리의 다른 글
[python, vs code] visual studio code에서 파이썬 가상 환경 생성 및 삭제하기 (0) | 2023.02.09 |
---|---|
[python, vs code] visual studio code에서 파이썬 개발 환경 만들기 (0) | 2023.02.08 |