argparse는 무엇이며 언제 사용하는가
Python script를 실행시킬때 필요한 상황에 따라 서로 다른 옵션으로 실행시키고 싶을 때가 있다.
그럴때 ArgumentParser(argparse)를 사용하면 편하게 옵션을 지정해서 실행시킬 수 있다.
argparse는 command 창에서 원하는 parameter 를 지정할 수 있다.
argparse 사용하는법
import argparse
# ArgumentParser object를 만든다
argparser = argparse.ArgumentParser(description=__doc__)
# argument를 추가
argparser.add_argument('--testarg', help='This is testarg')
argparser.add_argument("--verbose", default=False, action=argparse.BooleanOptionalAction)
args = argparser.parse_args(args)
print(args.testarg)
argparser 라는 argumentparse 객체에 argument를 추가해주고, parse_args()를 통해 입력된 인자값을 가져온다.
python test.py --argtest 1234
커멘드 라인에서 argtest라는 인자에 1234를 바로 부여해줄 수 있는게 바로 장점이다. 실행결과로는 1234가 출력될 것이다.
이 argparse를 이용하면, 딥러닝을 할때 여러 모델을 바꿔서 사용한다면 script자체를 바꾸지 않아도 커멘트 창에서 바로바로 적용할 수 있다.
Verbose 란 무엇인가
verbose 를 사전적 의미는 말수가 많은.. 이런 의미인데 코드에서 사용될때는 extra information을 제공한다는 의미이다. 그래서 위의 코드에서 verbose 가 True인 경우에는 extra information 을 print하는 옵션을 줄 수 있다.
예를들어 아래와 같이 말이다.
if verbose:
print(f"plots saved on {cache_folder}")
verbose를 사용할때 action=argparse.BooleanOptionalAction 라는 action을 주었는데, 이는 verbose 옵션을 boolean으로 이용할 것이라는 뜻이다. --verbose 아니면 --no-verbose 처럼 말이다.
배움을 기록하기 위한 공간입니다.
수정이 필요한 내용이나 공유하고 싶은 것이 있다면 언제든 댓글로 남겨주시면 환영입니다 :D
'배움 기록 > Programming' 카테고리의 다른 글
torch. squeeze의 역할 (0) | 2023.06.14 |
---|---|
[python] Dataclasses 모듈은 무엇인가 , 장점은? (feat. **kwargs) (0) | 2023.04.04 |
[python, pathlib, glob] 특정 directory (경로) 추출하기 (0) | 2023.03.29 |
[python] plt.savefig 이미지 잘리는 경우, 해결방법 3가지 (0) | 2023.03.27 |
[repository setup] packaging 관련 파일 - setup.py, setup.cfg 란? (0) | 2023.03.16 |