포스트

Argparse로 커맨드 라인에서 리스트 인수 전달하기

개요

Argparse는 Python에서 커맨드 라인 인터페이스를 만드는 데 유용한 표준 라이브러리입니다. 이 라이브러리를 사용하면 사용자가 커맨드 라인에서 다양한 인수를 쉽게 전달할 수 있습니다. 본 글에서는 특히 argparse를 사용하여 리스트를 커맨드 라인 인수로 어떻게 전달하는지 상세하게 알아보겠습니다.

리스트 인수의 기본 구성

nargs 파라미터 이해하기

Argparse에서는 add_argument 메서드를 사용하여 인수를 추가합니다. nargs라는 파라미터를 사용하면, 하나의 인수가 여러 개의 값을 가질 수 있게 설정할 수 있습니다. 예를 들어 nargs='+' 설정을 사용하면, 한 개 이상의 값이 하나의 인수로 전달될 수 있습니다.

1
2
3
4
5
6
7
import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--values', nargs='+')
args = parser.parse_args()

print(args.values)

이 코드를 실행하면 다음과 같이 여러 개의 값을 --values 인수로 전달할 수 있습니다.

1
python your_script.py --values 1 2 3

주의사항과 팁

인수 구분자 사용

nargs를 사용할 때 주의할 점은 인수 값들을 구분해주어야 한다는 것입니다. 일반적으로 공백(space)을 사용하여 인수 값을 구분합니다.

기본값 설정하기

default 파라미터를 사용하여 인수에 기본값을 설정할 수 있습니다. 이렇게 하면 사용자가 인수를 전달하지 않았을 때도 코드가 정상적으로 작동합니다.

오류 해결: argparse.ArgumentError

만약 nargs 설정이 잘못되었다면, argparse.ArgumentError 라는 오류 메시지가 출력될 수 있습니다. 이 경우 nargs 파라미터 값을 확인하고, 필요하다면 수정해야 합니다.

결론

Argparse 라이브러리를 활용하면 Python 스크립트에 다양한 인수를 쉽게 전달할 수 있습니다. 특히 nargs 파라미터를 이용하면 리스트 형태의 인수도 간편하게 처리할 수 있습니다. 따라서 argparse는 사용자 입력을 다루는 다양한 상황에서 유용하게 사용할 수 있습니다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.