[Python] argparse를 이용한 입력 파라미터 받는 방법
들어가며:
모든 언어를 사용하다 보면, 실행시에 파라미터를 입력받아서 처리하는 로직을 구현해야하는 경우가 많다. 자주사용하기 때문에 최초에 한번 나만의 모듈을 만들어놓고, 그대로 계속 재활용해서 사용하면 좋다. 물론 내가 sys.argv[0], sys.argv[1]의 들어온 값을 파싱해서 사용해도 되지만, 파이썬의 장점인 패키지가 많은것을 활용하는게 좋다고 생각한다. 이번에 소개할 내용은 argparse를 이용해서 매개변수를 입력받는 방법이다.
argparse는 내가 입력하는 parameter의 옵션과 값을 입력받아줄 뿐만 아니라 help도 지원하니 개발자도, 사용자도 쉽게 사용을 할 수 있도록 되어 있다. 보통 우리가 커맨드창에 -h 옵션을 줘서 optional arguments를 확인을 할 수 있도록 지원한다.
아래 명령어를 주면 test.py는 arguments로 무슨 값을 받고, 그 값은 어떤값을 나타내는지 설명해준다. 얼마나 편한가.. 구현하는 부분을 보면 더 편하다.
$ python test.py —help
usage: test.py [-h] [—input_dir INPUT_DIR] [—output_dir OUTPUT_DIR]
optional arguments:
-h, —help show this help message and exit
—input_dir INPUT_DIR
input file directory
—output_dir OUTPUT_DIR
output file directory
설치방법:
$ sudo pip install argparse
사용방법:
FLAGS에 값을 넣고, 어느 함수에서도 자유자재로 파라미터 값에 접근이 가능하도록 구현을 하였다.
import argparse
FLAGS = None
def main():
print FLAGS.input_dir
print FLAGS.output_dir
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('--input_dir', type=str, default='/home/banana/input', help='input file directory')
parser.add_argument('--output_dir', type=str, default='/home/banana/output', help='output file directory')
FLAGS, unparsed = parser.parse_known_args()
main()
'Python > Python 프로그래밍' 카테고리의 다른 글
파이썬으로 HTML 파싱하기 (0) | 2021.04.28 |
---|---|
[데이터과학] 데이터 수집하는 방법 (예제: 오라일리의 데이터 관련 책) - 페이지 스크랩, 정책 (0) | 2021.04.28 |
Linux, Centos, MacOS에서 Python3 Virtualenv 구성하기 (0) | 2021.04.28 |
[Python] Pillow를 이용한 이미지 분석 with Jupyter(IPython Notebook) 확인하는 방법 (0) | 2021.04.28 |
[Python] Singleton Pattern을 이용한 Logger 만들기 (0) | 2021.04.27 |
[Python] 파이썬 CSV파일 입/출력 (FileI/O) (0) | 2021.04.27 |
[Python] 데이터 포맷 변환 - Protocol Buffer를 Json으로 변환 (0) | 2021.04.27 |
[Python] Enum 사용하는 방법 및 예제코드 (0) | 2021.04.27 |