python argparse action_python argparse模块

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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值