Python의 내장 모듈인 argparse
는 명령줄 인자를 파싱하기 위한 강력한 도구입니다. 이 모듈을 사용하면 명령줄에서 인자를 입력받고, 처리하는 과정을 효과적으로 구현할 수 있습니다.
argparse
모듈의 ArgumentParser
클래스는 명령줄 인자를 구문 분석하고 처리하기 위한 기능을 제공합니다. 이 클래스의 set_defaults()
메서드는 기본값을 설정하는 데에 사용됩니다.
set_defaults() 메서드의 기능
set_defaults()
메서드는 ArgumentParser
객체에 연결된 명령줄 인자에 기본값을 설정합니다. 이를 통해 인자가 지정되지 않았을 경우에도 기본값이 사용되도록 할 수 있습니다.
기본적인 사용법은 다음과 같습니다.
parser = argparse.ArgumentParser()
parser.add_argument('--verbose', action='store_true')
parser.set_defaults(verbose=False)
이 예제에서 verbose
라는 명령줄 옵션은 기본적으로 False
로 설정되어 있습니다. 따라서 --verbose
옵션을 주지 않으면 args.verbose
의 값은 False
로 설정됩니다.
예제
다음은 argparse
모듈의 set_defaults()
메서드를 사용하는 간단한 예제입니다. 이 예제는 --name
옵션을 통해 사용자 이름을 입력받고, --age
옵션을 통해 사용자의 나이를 입력받는 프로그램입니다.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--name', type=str, help='User name')
parser.add_argument('--age', type=int, help='User age')
parser.set_defaults(name='John Doe', age=30)
args = parser.parse_args()
print(f"Name: {args.name}")
print(f"Age: {args.age}")
위의 코드를 실행하면, --name
과 --age
옵션을 주지 않았을 때에는 argparse
모듈에서 설정한 기본값이 출력됩니다.
$ python my_program.py
Name: John Doe
Age: 30
--name
과 --age
옵션을 주면, 주어진 값이 출력됩니다.
$ python my_program.py --name "Alice" --age 25
Name: Alice
Age: 25
이와 같이 set_defaults()
메서드를 사용하여 명령줄 인자의 기본값을 설정하는 것은 입력된 인자가 없을 때에도 프로그램이 정상적으로 실행될 수 있도록 도와줍니다.
argparse
의 set_defaults()
메서드를 적절히 활용하여 명령줄 인자를 처리하는 프로그램을 작성하면, 사용자와의 다양한 상호작용을 편리하게 구현할 수 있습니다.