import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-v", "--verbo", help="verbo usage" ,default=1)
args = parser.parse_args()
if args.verbo:
print("verbo turned on %s" % args.verbo)
type
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-x', type=int, help="square")
args = parser.parse_args()
answer = args.x ** 2
print(answer)
choices
import argparse
parser = argparse.ArgumentParser(description="calculate X to the power of Y")
parser.add_argument("square", type=int,
help="display a square of a given number")
parser.add_argument("-v", "--verbosity", type=int, choices=[0, 1, 2], default=1,
help="increase output verbosity")
args = parser.parse_args()
answer = args.square**2
if args.verbosity == 2:
print("the square of {} equals {}".format(args.square, answer))
elif args.verbosity == 1:
print("{}^2 == {}".format(args.square, answer))
else:
print(answer)
输出结果
XXX>python arg_example.py 3 -v 1
3^2 == 9
XXX>python arg_example.py 3 -v 2
the square of 3 equals 9
XXX>python arg_example.py 3
3^2 == 9
XXX>python arg_example.py
usage: arg_example.py [-h] [-v {0,1,2}] square
arg_example.py: error: the following arguments are required: square
XXX>python arg_example.py -h
usage: arg_example.py [-h] [-v {0,1,2}] square
calculate X to the power of Y
positional arguments:
square display a square of a given number
optional arguments:
-h, --help show this help message and exit
-v {0,1,2}, --verbosity {0,1,2}
increase output verbosity
案例ftp客户端命令行
import argparse
parser = argparse.ArgumentParser(
description="ftp客户端,使用-S 127.0.0.1 -P 9988 -u hh -p 123")
parser.add_argument("-s", "--server", type=str, default='127.0.0.1',
dest="server",
help="ftp server ip_addr")
parser.add_argument("-P",
"--port",
type=int,
dest="port",
help="ftp server port")
parser.add_argument("-u",
"--username",
type=str,
choices=['alex', 'egon', 'eva'],
dest="username",
help="username info")
parser.add_argument("-p",
"--password",
dest="password",
help="password info")
args = parser.parse_args()
print('server:{} port:{} username:{} password:{}'.format(args.server, args.port, args.username, args.password))
输出结果
XXX>python arg_example.py -h
usage: arg_example.py [-h] [-s SERVER] [-P SERVER] [-u {alex,egon,eva}]
[-p PASSWORD]
ftp客户端,使用-S 127.0.0.1 -P 9988 -u hh -p 123
optional arguments:
-h, --help show this help message and exit
-s SERVER, --server SERVER
ftp server ip_addr
-P SERVER, --port SERVER
ftp server port
-u {alex,egon,eva}, --username {alex,egon,eva}
username info
-p PASSWORD, --password PASSWORD
password info
XXX>python arg_example.py -s 127.0.0.1 -P 9988 -u en -p 123
usage: arg_example.py [-h] [-s SERVER] [-P PORT] [-u {alex,egon,eva}]
[-p PASSWORD]
arg_example.py: error: argument -u/--username: invalid choice: 'en' (choose from
'alex', 'egon', 'eva')
XXX>python arg_example.py -s 127.0.0.1 -P 9988 -u alex -p 123
server:127.0.0.1 port:9988 username:alex password:123
XXX>python arg_example.py -s 127.0.0.1 -P 9988 -u alex -p 123456
server:127.0.0.1 port:9988 username:alex password:123456
参考http://yarving.historytale.com/