개발

[Python] argparse 사용법 - 파이썬 인자 처리

argparse는 파이썬에 기본 내장되어 있는 인자처리 패키지이다.

 

기본적인 로직은 다음과 같다.

# example.py

import argparse

# argparse를 사용하는 첫 번째 단계는 ArgumentParser 객체를 생성하는 것이다.
parser = argparse.ArgumentParser()

# 인자 추가하기
parser.add_argument('--src', '--s', help='ip src address', required=True)

# 인자 파싱하기  
args = parser.parse_args()

# 입력받은 인자값 출력
print(args.src)
  • parser.add_argument('--src', '--s', help='ip src address', required=Ture)
    • python example.py --help # help 메세지 출력
    • required=True # 인자가 입력이 안되면, help 명령어 출력시킴
  • parse_args() 메서드는 명령행을 검사하고 각 인자를 적절한 형으로 변환한 다음 적절한 액션을 호출한다.

 

예시

parser = argparse.ArgumentParser()

parser.add_argument("--n_epochs", type=int, default=200, help="number of epochs of training")
parser.add_argument("--batch_size", type=int, default=64, help="size of the batches")
parser.add_argument("--lr", type=float, default=0.0002, help="adam: learning rate")
parser.add_argument("--b1", type=float, default=0.5, help="adam: decay of first order momentum of gradient")
parser.add_argument("--b2", type=float, default=0.999, help="adam: decay of first order momentum of gradient")
parser.add_argument("--n_cpu", type=int, default=8, help="number of cpu threads to use during batch generation")
parser.add_argument("--latent_dim", type=int, default=100, help="dimensionality of the latent space")
parser.add_argument("--img_size", type=int, default=28, help="size of each image dimension")
parser.add_argument("--channels", type=int, default=1, help="number of image channels")
parser.add_argument("--sample_interval", type=int, default=400, help="interval betwen image samples")

opt = parser.parse_args()
print(opt)