[파이썬] 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
모듈은 강력하고 유연한 명령행 인자 처리 도구로써 파이썬 애플리케이션 개발에 권장되는 방법입니다.