python

[argparse] 옵션 설명

jiheek 2022. 2. 21. 14:18

argparse.argumentparser()

#main.py
import argparse

def add_parser(parser):
	parser.add_argument('--save', default='save/', type=str)			#1
	parser.add_argument('--fp16', action='store_true', help='fp16 operation mode')	#2
	parser.add_argument('save-folder')		#4
    
def main():
	args = parser.parse_args() #5
    
	if args.fp16:	#3
    	print("fp15 is used")

#1

  • default: 해당 argument에 명시적인 입력이 없을 경우 저장되는 기본 값.
  • type: 원하는 입력 type을 지정할 수 있다.

#2

  • action: 해당 argument가 명령어로 호출되었을 시 시행되는 행동. (python main.py --fp16) 다른 인자가 들어가면 에러가 표시된다.
  • help:  python main.py --help 사용 시 확인할 수 있는 설명

help는 command line에서 python main.py -h를 통해 내용을 확인할 수 있다.

python main.py --help 결과

 

#3

  • argument 사용은 args.(인자 이름) 으로 할 수 있다.

#4

  • 앞에 -- 붙히지 않으면 꼭 argument를 주어야 한다. 명령어에서 입력해주지 않으면 아래와 같은 에러가 발생한다.

따라서 따로 입력을 주지 않고 코드 내부에서 전역변수처럼 사용한다면 ('--save-subfolder', default="")와 같이 사용해야 한다. 이 방법을 통해 전역 변수처럼 사용할 수도 있다.

 

#5

  • args = parser.parse_args() 를 arguments 사용하기 전에 꼭 넣어서 args라는 변수를 통해 argument들에 접근할 것이라는 것을 명시해주어야 한다.

220321 업데이트. 더 알게 되는 내용이 있으면 계속 업데이트 할 예정이다.