argparse
는 Python의 표준 라이브러리로, 명령 줄 인수를 편리하게 구문 분석할 수 있는 기능을 제공합니다. argparse
를 사용하여 명령 줄 인수를 처리할 때, action
속성을 사용하여 인수를 어떻게 처리할지 지정할 수 있습니다. action
속성은 다양한 방식으로 인수를 처리하고 해당 인수를 어떻게 저장할지를 정의할 수 있습니다.
다음은 argparse
에서 제공하는 주요 action
속성의 종류입니다.
1. ‘store’
store
는 기본적인 action
속성으로, 인수 값을 그대로 저장합니다. 이는 argparse
의 기본 동작입니다.
예를 들어, 다음과 같이 store
를 사용하여 인수 값을 저장할 수 있습니다:
import argparse
# 파서 생성
parser = argparse.ArgumentParser()
# 인수 추가
parser.add_argument('--name', action='store')
# 입력된 인수 파싱
args = parser.parse_args()
# 인수 값 출력
print(args.name)
위의 예제에서는 --name
이라는 옵션을 사용하여 프로그램에 값을 전달하고, 이 값을 args.name
으로 저장합니다.
2. ‘store_true’와 ‘store_false’
store_true
와 store_false
는 불리언 값으로 인수를 저장합니다. store_true
는 옵션을 사용할 경우 True
를, 옵션을 사용하지 않을 경우 False
를 저장하며, store_false
는 그 반대입니다.
예를 들어, 다음과 같이 store_true
와 store_false
를 사용하여 불리언 값을 저장할 수 있습니다:
import argparse
# 파서 생성
parser = argparse.ArgumentParser()
# 인수 추가
parser.add_argument('--verbose', action='store_true')
# 입력된 인수 파싱
args = parser.parse_args()
# 인수 값 출력
print(args.verbose)
위의 예제에서는 --verbose
라는 옵션을 사용하여 프로그램을 실행할 때, args.verbose
에 True
값이 저장되며, 옵션을 사용하지 않을 경우 args.verbose
에 False
값이 저장됩니다.
3. ‘append’
append
는 여러 개의 인수 값을 리스트로 저장합니다. 이 속성을 사용하면 같은 옵션을 여러 번 사용할 수 있습니다.
예를 들어, 다음과 같이 append
를 사용하여 여러 개의 인수 값을 저장할 수 있습니다:
import argparse
# 파서 생성
parser = argparse.ArgumentParser()
# 인수 추가
parser.add_argument('--numbers', action='append')
# 입력된 인수 파싱
args = parser.parse_args()
# 인수 값 출력
print(args.numbers)
위의 예제에서는 --numbers
라는 옵션을 여러 번 사용하여 여러 개의 값을 입력할 수 있습니다. 이 때, 입력된 값들은 args.numbers
에 리스트로 저장됩니다.
4. ‘count’
count
는 특정 옵션을 몇 번 사용했는지를 세어서 저장합니다. 이를 통해 프로그램 실행 중 옵션 사용 횟수에 따라 다른 동작을 수행할 수 있습니다.
예를 들어, 다음과 같이 count
를 사용하여 옵션 사용 횟수를 저장할 수 있습니다:
import argparse
# 파서 생성
parser = argparse.ArgumentParser()
# 인수 추가
parser.add_argument('--verbose', action='count')
# 입력된 인수 파싱
args = parser.parse_args()
# 인수 값 출력
print(args.verbose)
위의 예제에서는 --verbose
라는 옵션을 여러 번 사용하여 실행하면, args.verbose
에는 사용한 횟수가 저장됩니다.
위에서 소개한 것들은 argparse
에서 제공하는 일부 action
속성의 종류에 대한 간단한 설명입니다. 다양한 action
속성을 함께 조합하여 보다 복잡한 인수 처리 로직을 구성할 수도 있습니다. argparse
의 공식 문서에 자세한 내용이 담겨있으니 참고하시기 바랍니다.
argparse
는 명령 줄 인수 처리를 효율적이고 간편하게 처리할 수 있는 도구이며, 프로그램의 사용성을 향상시키는 데에 유용한 기능을 제공합니다.