##argparse命令行分析模块学习
importargparseparser=arg parse.argument parser (#类似于初始化,parser.parse_args ) #分析参数//缺省存在-h,--help参数
python test.py --help
usage: prog.py [-h]
可选协议:
-h,--helpshowthishelpmessageandexit
接下来是
导入警报
parser=argparse.ArgumentParser (
parser.add_argument('echo ' )定义默认情况下始终选定的名为echo的参数
args=parser.parse_args (
打印(args.echo ) )。
//其中echo为定位协议,中文翻译为定位参数,即无需使用---或---即可使用
输出示例
python test.py flag
标志
--
看看下面的代码
导入警报
parser=argparse.ArgumentParser (
输入-h或-help时,将显示parser.add _ argument ('-- verbosity ',#help='increase output verbosity ' ) help参数
args=parser.parse_args (
if args.verbosity: #在这里,可以通过确定参数是否存在,如果存在,执行以下语句来实现一些功能
打印(verbosityturnedon ) )。
然后看输出
python test.py --verbosity test
verbosity turned on
//必须在此指定输入。 这里我打印的输入是test,args.verbosity的输出是test
再看一些变更的东西
导入警报
parser=argparse.ArgumentParser (
parser.add _ argument ('-- verbosity ',help='increase output verbosity ',action='store_true ' ) #中添加了一个操作属性
args=parser.parse_args (
if args.verbose:
打印(verbosityturnedon ) )。
//此直接python --verbosity允许在不指定参数的情况下执行if后面的语句
-v短参数
导入警报
parser=argparse.ArgumentParser (
parser.add_argument('-v ','--verbose ',help='increase output verbosity ',action='store_true ' )
args=parser.parse_args (
if args.verbose:
打印(verbosityturnedon ) )。
也可以指定类型。 缺省参数type为str
导入警报
parser=argparse.ArgumentParser (
parser.add_argument('square ',help=' displayasquareofagivennumber ',type=int ) )。
args=parser.parse_args (
打印(args.square * *2) )。
//这必须在int中输入必需的参数。 否则会报告错误
也有属性choices=[],定义选项并通过if语句进行判断。 以下是一个示例
导入警报
parser=argparse.ArgumentParser (
parser.add_argument(square ),type=int,
help=' displayasquareofagivennumber ' )
parser.add_argument('-v ','--verbosity ',type=int,choices=[ 0,1,2 ],
help='increase output verbosity ' )
args=parser.parse_args (
answer=args.square**2
if args.verbosity==2:
(打印(thesquareof ) equals ().format (args.square,answer ) ) ) ) ) 65 )
elif args.verbosity==1:
print (() )=) ).format ) args.square,answer ) )
else:
打印(answer ) )。
属性默认值。 可以指定未给出参数时的默认参数
整个程序的帮助信息
parser=arg parse.argument parser (描述=' calculatextothepowerofy ' )
也有互斥的群体
group=parser.add _ mutually _ exclusive _ group (
添加到此处的参数不能同时出现。 最多出现一个,或者都不出现