[Python] argpase
Python 실행시 인자값을 전달받아 사용하면 편리한 경우가 많다. (옵션에 따라 다른 기능을 실행하는 등)
아래와 같은 방법으로 인자값을 넘겨서 사용할 수 있다.
import sys
if __name__ == '__main__':
print("args :", len(sys.argv))
if len(sys.argv) < 2:
print("입력된 인자가 없음")
sys.exit()
arg1 = sys.argv[1]
print("arg1 : " + arg1)
sys 모듈을 import하여 간단히 사용할 수 있지만, argparse 모듈을 사용하면 인자값을 더 직관적이고 편리하게 사용할 수 있다.
import argparse
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('--version', '-v')
args = parser.parse_args()
if args.version:
print("version :", args.version)
store_true 옵션을 사용하여 값을 사용하지 않고, 인자가 있는지 없는지에 따라 동작하게 사용할 수도 있다.
import argparse
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('--option', '-o', action='store_true')
args = parser.parse_args()
if args.option:
print("옵션 있음")
if not args.option:
print("옵션 없음")
이밖에 type, help 등 여러가지 옵션들을 사용하여 직관적이고 편리하게 인자를 컨트롤할 수 있다.
import argparse
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('--option', '-o', type=int)
args = parser.parse_args()
if args.option:
print("option value :", args.option)
import argparse
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('--option', '-o', help="이 기능에 대한 설명입니다.")
args = parser.parse_args()
if args.option:
print("option value :", args.option)
Python Document 참고(https://docs.python.org/ko/3/howto/argparse.html)
Argparse 자습서
저자, Tshepang Mbambo,. 이 자습서는 파이썬 표준 라이브러리에서 권장하는 명령행 파싱 모듈인 argparse 에 대한 소개입니다. 개념: ls 명령을 사용하여 이 입문서에서 다룰 기능들을 살펴봅시다: 네 가지 명령에서 배울 수 있는 몇 가지 개념들입니다: ls 명령은 옵션 없이 실행될 때도 유용합니다. 기본적으로 현재 디렉터리의 내용을…