배움 기록/Programming

[python] argparse 사용법, verbose 란 ?

Spezi 2023. 4. 3. 21:36
반응형

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

반응형