[파이썬] argparse 위치 인수와 옵션 인수

배포할 애플리케이션을 개발할 때, 사용자로부터 입력을 받아야 하는 경우가 많습니다. 이때 argparse 모듈은 파이썬에서 명령행 인자를 처리하는 기능을 제공하여 이러한 상황을 효과적으로 다룰 수 있습니다.

argparse 모듈을 사용하면 위치 인수와 옵션 인수를 쉽게 정의하고 처리할 수 있습니다. 위치 인수는 입력값의 순서대로 처리되는 반면, 옵션 인수는 특정 플래그와 함께 입력되어야 합니다. 이러한 인수들은 사용자가 애플리케이션을 실행할 때 함께 입력될 수 있습니다.

다음은 argparse 모듈을 사용하여 위치 인수와 옵션 인수를 처리하는 예시 코드입니다:

import argparse

# ArgumentParser 객체 생성
parser = argparse.ArgumentParser(description='애플리케이션 설명')

# 위치 인수 추가
parser.add_argument('positional_arg', type=int, help='위치 인수 설명')

# 옵션 인수 추가
parser.add_argument('-o', '--optional_arg', type=str, help='옵션 인수 설명')

# 인수들을 파싱하여 Namespace 객체로 저장
args = parser.parse_args()

# 위치 인수 값 출력
print(f"위치 인수 값: {args.positional_arg}")

# 옵션 인수 값 출력 (입력되지 않았을 경우 None 출력)
print(f"옵션 인수 값: {args.optional_arg}")

위 코드에서는 ArgumentParser 클래스를 사용하여 파서 객체를 생성합니다. 그 후 add_argument 메서드를 호출하여 위치 인수와 옵션 인수를 추가합니다. 각 인수에 대한 설명은 help 파라미터를 통해 제공됩니다.

parse_args 메서드를 호출하여 입력된 인수들을 파싱하고, 반환된 Namespace 객체에서 인수값들을 가져와 처리할 수 있습니다.

위 코드는 다음과 같이 실행할 수 있습니다:

$ python script.py 10 -o optional_value
위치 인수 값: 10
옵션 인수 값: optional_value

위치 인수 10과 옵션 인수 -o optional_value가 입력으로 전달되어 처리되었습니다.

위치 인수와 옵션 인수를 사용하여 애플리케이션에 필요한 입력값을 처리할 수 있으며, 이를 통해 사용자와 상호작용하는 기능을 구현할 수 있습니다. argparse 모듈은 강력하고 유연한 명령행 인자 처리 도구로써 파이썬 애플리케이션 개발에 권장되는 방법입니다.