Python 파일 (.py) 실행시, 인수를 지정할때 사용하는 라이브러리
기본 사용법
import argparse parser = argparse.ArgumentParser() parser.add_argument() args = parser.parse_args()
# 파일명 : test.py
import argparse
# 인자값을 받을 instance parser 생성
parser = argparse.ArgumentParser(description='테스트용 파서입니다.')
# 입력받을 인자값 지정
parser.add_argument('--framework',
required=True,
type=str,
default='pytorch',
help='실행환경 프레임워크 지정 (파이토치 vs 텐서플로우)')
parser.add_argument('--version',
required=False,
type=str,
default='newest',
help='프레임워크 버전 입력')
# 위에서 지정한 parser의 인자값들을 args 에 지정
# 값 : Namespace(framework='pytorch', version='newest')
args = parser.parse_args()
print('실행완료')
python test.py
# 실행결과 (대괄호안의 값은 선택항목 / 대괄호아닌건 필수항목)
>> usage: test.py [-h] --framework FRAMEWORK [--version VERSION]
>> test.py: error: the following arguments are required: --framework
python test.py -h
# 실행결과
>> usage: test.py [-h] --framework FRAMEWORK [--version VERSION]
>> 테스트용 파서입니다.
>> optional arguments:
-h, --help show this help message and exit
--framework FRAMEWORK
실행환경 프레임워크 지정 (파이토치 vs 텐서플로우)
--version VERSION 프레임워크 버전 입력
python test.py --framework=pytorch
>> 실행완료
config 파일을 불러오는 파이썬 내장 라이브러리
import configparser config = configparser.ConfigParser() config.read('config 파일명.ini')
import configparser
# config instance 생성
config = configparser.ConfigParser()
# DATA 섹션생성
config['DATA']={}
# DATA 섹션에 값 기입
config['DATA']['class_name']='Transformer'
config['DATA']['name']='TR'
config['DATA']['version']='1.1'
# MODEL 섹션생성
config['MODEL']={}
# MODEL 섹션에 값 기입
config['MODEL']['num_heads']='8'
config['MODEL']['mlp_dim']='512'
config['MODEL']['num_layers']='6'
# 저장
with open('test_config.ini','w') as configfile:
config.write(configfile)

import configparser
config = configparser.ConfigParser()
config.read('test_config.ini')
print(config.sections())
>> ['DATA', 'MODEL']
print(config['DATA']['class_name'])
>> 'Transformer'
print(config['DATA']['version'])
>> '1.1'
import argparse
import configparser
# parser 지정
parser = argparse.ArgumentParser()
parser.add_argument('config_file',
type=str,
help='사용할 configfile 경로 지정')
args = parser.parse_args()
# config 지정
config = configparser.ConfigParser()
config.read(args.config_file)
class_name = config['DATA']['class_name']
version = config['DATA']['version']
print(class_name)
print(version)
# 실행
python test.py test_config.ini
>> 'Transformer'
>> '1.1'