def add(x,y):
print x+y
def square(a):
print a**2
我可以使用這些功能的標誌一樣
./hello.py -a add 2 3
./hello.py -s sqare 3
了RightNow我曾嘗試使用此代碼
#! /usr/bin/python
import argparse
# Create Parser and Subparser
parser = argparse.ArgumentParser(description="Example ArgumentParser")
subparser = parser.add_subparsers(help="commands")
# Make Subparsers
hello_parser = subparser.add_parser('hello', help='hello func')
hello_parser.add_argument("arg",help="string to print")
hello_parser.set_defaults(func='hello')
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 hello(arg):
print arg
def add(x,y):
print x + y
def square(a):
print a**2
if args.func == 'hello':
hello(args.arg)
elif args.func == 'add':
add(args.x,args.y)
elif args.func == 'square':
square(args.a)
我可以在添加標記功能相同的代碼?
你讀過[DOC](https://docs.python.org/2/howto/argparse.html)? – Anzel
我已閱讀,但我無法實時應用。你能用一個例子來解釋我嗎?謝謝。 – sowji
使用['click'](http://click.pocoo.org/6/api/#click.confirmation_option),人 –