파이썬에서 명령행 인자를 처리하기 위해 argparse
모듈을 사용하는 것은 매우 흔한 일입니다. 그러나 argparse
를 사용하기 전에 sys.argv
라는 파이썬 내장 모듈을 이해하는 것이 중요합니다.
sys.argv
는 명령 프롬프트에서 실행한 파이썬 스크립트에 전달된 인자들의 리스트입니다. 스크립트 파일명은 sys.argv[0]
에 저장되고, 추가적인 인자들은 sys.argv[1]
, sys.argv[2]
, …와 같이 인덱스로 접근할 수 있습니다.
간단한 예시를 통해 sys.argv
를 살펴보겠습니다. 다음과 같이 스크립트 파일인 script.py
를 실행합니다.
python script.py arg1 arg2 arg3
이때 sys.argv
는 다음과 같이 저장됩니다.
['script.py', 'arg1', 'arg2', 'arg3']
여기에서 sys.argv[0]
는 'script.py'
이고, sys.argv[1]
은 'arg1'
이 되는 것입니다.
argparse
모듈은 이러한 sys.argv
를 사용하여 명령행 인자를 구문 분석하고 처리합니다. argparse
는 스크립트에 예상되는 인자들을 정의하고, 사용자가 입력한 인자들을 추출하고, 필요에 따라 처리하는 기능을 제공합니다.
다음은 argparse
를 사용하여 sys.argv
를 처리하는 간단한 예제 코드입니다.
import argparse
# ArgumentParser 객체 생성
parser = argparse.ArgumentParser()
# 인자 정의
parser.add_argument('name', help='이름 입력')
parser.add_argument('--age', help='나이 입력')
# 명령행 인자 구문 분석
args = parser.parse_args()
# 입력된 인자들 사용
print(f'이름: {args.name}')
print(f'나이: {args.age}')
위의 코드를 실행하기 위해서는 명령 프롬프트에서 다음과 같이 입력해야 합니다.
python script.py John --age 25
이때 argparse
는 sys.argv
를 분석하여 'John'
을 args.name
에 저장하고, '--age'
와 '25'
를 args.age
에 저장합니다. 마지막으로 이 값을 사용하여 출력하면 다음과 같은 결과를 얻을 수 있습니다.
이름: John
나이: 25
argparse는 sys.argv
를 자동으로 해석하여 필요한 인자를 추출하고 유효성 검사를 수행하는 등 더 많은 기능을 제공합니다. 따라서 sys.argv
를 직접 다루기보다는 argparse
를 사용하여 명령행 인자를 처리하는 것이 더 편리하고 안전합니다.
argparse의 세부적인 사용법과 기능에 대한 자세한 내용은 파이썬 공식 문서를 참고하시기 바랍니다.