[파이썬] argparse 인수 그룹화하기

Python에서 argparse 모듈은 명령 줄 인수를 구문 분석하고 처리하기 위한 강력한 도구입니다. 이 모듈을 사용하면 명령 줄에서 인수를 쉽게 처리하고, 인수 그룹을 구성하여 코드를 구성하고 관리할 수 있습니다.

인수 그룹화

argparse 모듈을 사용할 때, 인수 그룹화를 사용하면 코드를 효율적으로 구조화 할 수 있습니다. 인수 그룹은 관련된 인수들을 그룹 단위로 묶어주는 역할을 합니다. argparse 모듈에서 인수 그룹화를 위해 add_argument_group 메서드를 사용합니다.

아래는 argparse 모듈을 사용하여 인수 그룹화를 구현하는 간단한 예시입니다:

import argparse

# ArgumentParser 인스턴스 생성
parser = argparse.ArgumentParser()

# 인수 그룹 생성
group = parser.add_argument_group('Logging')

# 인수 그룹에 인수 추가
group.add_argument('--log-level', choices=['DEBUG', 'INFO', 'WARNING', 'ERROR'], default='INFO', help='Log level')

# 인수 그룹과 일반 인수들이 섞여서 존재할 수 있습니다.
parser.add_argument('--output', help='Output file')

# 명령 줄 인수 파싱
args = parser.parse_args()

위의 예시에서는 “Logging” 이라는 인수 그룹을 생성하고, “–log-level” 인수를 그룹에 추가했습니다. 그룹을 사용하면 보다 명확하고 구조화된 코드를 작성할 수 있습니다.

사용 예시

인수 그룹을 사용하여 명령 줄 인수를 처리하는 예시를 살펴보겠습니다.

import argparse

# ArgumentParser 인스턴스 생성
parser = argparse.ArgumentParser()

# 인수 그룹 생성
group = parser.add_argument_group('Logging')

# 인수 그룹에 인수 추가
group.add_argument('--log-level', choices=['DEBUG', 'INFO', 'WARNING', 'ERROR'], default='INFO', help='Log level')

# 인수 그룹과 일반 인수들이 섞여서 존재할 수 있습니다.
parser.add_argument('--output', help='Output file')

# 명령 줄 인수 파싱
args = parser.parse_args()

# 인수 처리
print('Log level:', args.log_level)
print('Output file:', args.output)

위의 예시에서 --log-level--output 인수는 각각 인수 그룹에 속하지 않고 주요 인수들로 처리됩니다. 이렇게 코드를 구성하면 다른 인수들과 구분하여 사용자에게 명확한 인수 그룹 정보를 제공할 수 있습니다.

결론

argparse 모듈을 사용하여 인수 그룹화를 구현하면 명령 줄 인수의 관리가 간편해지고 가독성이 향상됩니다. 인수 그룹을 사용하여 코드를 구조화할 때, 사용자가 명령 줄에서 어떤 인수들을 함께 사용해야 하는지 명확하게 알 수 있도록 주의하여 작성하면 좋습니다.