기록하는삶

[파이썬/Python] argparse 모듈 사용법, .py 실행 시 인자 전달 본문

AI/파이썬(Python)

[파이썬/Python] argparse 모듈 사용법, .py 실행 시 인자 전달

mingchin 2021. 12. 11. 20:40
728x90
반응형

파이썬 파일(.py)을 cmd 창에서 실행 시 전달하는 인자 값을 코드 내에서 활용하거나, 그 인자가 무엇이냐에 따라 다른 실행을 하도록 해야하는 상황이 있다. 가장 간단하게는 'python --version' 이라는 입력은 --version에 대한 입력을 ''로 받아 파이썬 버전을 출력하는 코드로 연결된다. 이때 활용할 수 있는 것이 argparse다.

import argparse

parser = argparse.ArgumentParser(description='예시')
parser.add_argument('--model_path', type=str, required=True)
parser.add_argument('--audio_path', type=str, required=True)
parser.add_argument('--transcript_path', type=str, required=True)
parser.add_argument('--dst_path', type=str, required=True)
parser.add_argument('--device', type=str, required=False, default='cpu')

# opt는 parser로 나눈 모든 argument들을 dict 형식으로 가진다.
opt = parser.parse_args()

 

예시는 위와 같다. 해당 예시의 경우 model_path, audio_path, transcript_path, dst_path를 필수 인자로 받으며, device의 경우 선택적으로 받고 그 default 값은 'cpu'이다. 각 인자의 필요 여부와 type, default 등을 설정할 수 있다.

python ./bin/inference_wer.py --model_path "모델 경로" --audio_path "음성 파일 경로" --transcript_path "전사 파일 경로" --dst_path "저장 경로" --device "cpu"

# 사용은 아래와 같은 형식으로
opt.model_path = '모델 경로'
opt.audio_path = '음성 파일 경로'
opt.transcript_path = '전사 파일 경로'
opt.dst_path = '저장 경로'
opt.device = '장치'

cmd 창에 위와 같은 형식으로 입력하면, opt에 사전으로 각각 전달되며 언급한 형식으로 활용할 수 있다.

728x90
반응형