2
나는 argparse를 사용하여이 기능이는 argparse
def add(x,y):
print x+y
def square(a):
print a**2
지금은 정의하고 리눅스 명령 (옵션)와 같은 기능을 가지고 있습니다.
이 코드
import argparse
# Create Parser and Subparser
parser = argparse.ArgumentParser(description="Example ArgumentParser")
subparser = parser.add_subparsers(help="commands")
# Make Subparsers
add_parser = subparser.add_parser('--add', help="add func")
add_parser.add_argument("x",type=float,help='first number')
add_parser.add_argument("y",type=float,help='second number')
add_parser.set_defaults(func='add')
square_parser = subparser.add_parser('--square', help="square func")
square_parser.add_argument("a",type=float,help='number to square')
square_parser.set_defaults(func='square')
args = parser.parse_args()
def add(x,y):
print x + y
def square(a):
print a**2
if args.func == '--add':
add(args.x,args.y)
if args.func == '--square':
square(args.a)
그러나 python code.py --add 2 3
invalid choice: '2' (choose from '--add', '--square')
을 생산
: 그래서 내가 기능이 자신의 매개 변수를 처리하는 방법을 변경해야한다고
참고로 사용할 수 있습니다 . '추가'만 사용하십시오. 그들은 옵션 깃발처럼 보이기로되어 있지 않습니다. 또한 서브 파서와 함께'setdefaults'를 사용할 때 문서를 검토하십시오. – hpaulj