Python 中Argparse 语句介绍
来源:互联网 发布:ruijie校园网络拓扑图 编辑:程序博客网 时间:2024/06/09 14:16
本文主要是参考文章(1-2)的整理.
argparse模块主要用于用户交互环境, 程序只定义好它要求的参数,然后argparse将负责如何从sys.argv中解析出这些参数。argparse模块还会自动生成帮助和使用信息并且当用户赋给程序非法的参数时产生错误信息。
import argparse
parse = argparse.ArgumentParser()
Aragparse的几种输入形式,可以合并为一条语句:
parse.add_argument("a", help="params means")
parse.add_argument("-C", "--gc", default="count")
parse.add_argument("--ga", help="params means ga",dest='simple_value',choices=['A', 'B', 'C', 0])
parse.add_argument("--gb", help="params means gb",action="store_const",const='value-to-store')
args = parse.parse_args()
将输入进行输出:
print args.simple_value, args.ga, args.gb
#add_argument 说明不带'--'的参数
调用脚本时必须输入值
参数输入的顺序与程序中定义的顺序一致
help: 参数作用解释 add_argument("a", help="params means")
type : 默认string add_argument("c", type=int)
#脚本1:import argparseparser = argparse.ArgumentParser()parser.add_argument("cool", help="echo the string you use here")args = parser.parse_args()print args.cool#运行$ python prog.py -husage: prog.py [-h] coolpositional arguments: cool echo the string you use hereoptional arguments: -h, --help show this help message and exit
#脚本2:import argparseparser = argparse.ArgumentParser()parser.add_argument("square", help="display a square of a given number", type=int)args = parser.parse_args()print args.square**2#运行:$ python prog.py 416$ python prog.py fourusage: prog.py [-h] squareprog.py: error: argument square: invalid int value: 'four'#type默认时string, 若不明确square为整型,则报错.
'--'参数, 后接特定关键字
参数别名: 只能是1个字符,区分大小写add_argument("-shortname","--name", help="params means"),但代码中不能使用shortname
dest: 参数在程序中对应的变量名称 add_argument("a",dest='code_name')
default: 参数默认值
若定义了action, 则在命令行直接输入--**, 若无明确action 则需要输入 --** **
action:
store:默认action模式,存储值到指定变量。
store_const:存储值在参数的const部分指定,多用于实现非布尔的命令行flag。
store_true / store_false:布尔开关。 store_true.默认为False,输入则为true。 store_flase 相反
append:存储值到列表,该参数可以重复使用。
append_const:存储值到列表,存储值在参数的const部分指定。
count: 统计参数简写输入的个数 add_argument("-c", "--gc", action="count")
version 输出版本信息然后退出。
const:配合action="store_const|append_const"使用,默认值
choices:输入值的范围 add_argument("--gb", choices=['A', 'B', 'C', 0])
required : 默认False, 若为 True, 表示必须输入该参数
#脚本1:import argparseparser = argparse.ArgumentParser()parser.add_argument("--verbosity", help="increase output verbosity")args = parser.parse_args()if args.verbosity: print "verbosity turned on"#运行:$ python prog.py --verbosity 1verbosity turned on# 接收输入的语句$ python prog.py$ python prog.py --helpusage: prog.py [-h] [--verbosity VERBOSITY]optional arguments: -h, --help show this help message and exit --verbosity VERBOSITY increase output verbosity$ python prog.py --verbosityusage: prog.py [-h] [--verbosity VERBOSITY]prog.py: error: argument --verbosity: expected one argument
#脚本2:import argparseparser = argparse.ArgumentParser()parser.add_argument("--verbose", help="increase output verbosity", action="store_true")args = parser.parse_args()if args.verbose: print "verbosity turned on"#运行:$ python prog.py –verboseverbosity turned on#添加新的关键字action,赋予值”store_true”, 则意味着,明确了action这个参数,其值#args.verbose =True, 此时不可再赋值, 没有输入这个参数,默认为args.verbose=Fale$ python prog.py --verbose 1usage: prog.py [-h] [--verbose]prog.py: error: unrecognized arguments: 1$ python prog.py --helpusage: prog.py [-h] [--verbose]optional arguments: -h, --help show this help message and exit --verbose increase output verbosity
'-'的参数, 参数别名: 只能是1个字符,区分大小写
add_argument("-shortname","--name", help="params means"),但代码中不能使用shortname
例如-v1实际是—verbose的简写, 定义后可以在命令行输入-v1 代替--verbose
#脚本1:import argparseparser = argparse.ArgumentParser()parser.add_argument("-v1", "--verbose", help="increase output verbosity", action="store_true")args = parser.parse_args()if args.verbose: print "verbosity turned on"#运行:$ python prog.py -v1verbosity turned on$ python prog.py --helpusage: prog.py [-h] [-v1]optional arguments: -h, --help show this help message and exit -v1, --verbose increase output verbosity
也可以对—verbose 限定为type=int , 采用 $python -v 3赋值#脚本2:import argparseparser = argparse.ArgumentParser()parser.add_argument("square", type=int, help="display a square of a given number")parser.add_argument("-v", "--verbosity", type=int, help="increase output verbosity")args = parser.parse_args()answer = args.square**2if 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#运行:$ python prog.py 416$ python prog.py 4 -vusage: prog.py [-h] [-v VERBOSITY] squareprog.py: error: argument -v/--verbosity: expected one argument$ python prog.py 4 -v 14^2 == 16$ python prog.py 4 -v 2the square of 4 equals 16$ python prog.py 4 -v 316也可以在后面添加范围限制-v的输入值范围:parser.add_argument("-v", "--verbosity", type=int, choices=[0, 1, 2], help="increase output verbosity")
参考:
1) python中的argparse模块(参数解析)
2) Argparse Tutorial
0 0
- Python 中Argparse 语句介绍
- python中argparse的相关介绍
- python中argparse
- Python 中 argparse简单使用
- Python中argparse模块学习
- Python 命令行解析工具 Argparse介绍
- Python 命令行解析工具 Argparse介绍
- Python 命令行解析工具 Argparse介绍
- Python命令行解析argparse使用语法介绍
- python argparse
- python argparse
- Python argparse
- python argparse
- Python-Argparse
- Python:Argparse
- python argparse
- python-argparse
- Python argparse
- Java 流(Stream)、文件(File)和IO
- HCNA学习笔记(二)传输介质、冲突域、双工/半双工
- linux笔记之条件变量
- Java sdut acm 2728 最佳拟合直线
- DF标志和串传送指令(1105)
- Python 中Argparse 语句介绍
- 删除排序链表中的重复元素
- PHP获取日期时间差
- 同时运行多个scrapy爬虫的几种方法(自定义scrapy项目命令)
- Ubuntu运行sudo apt-get update遇到的GPG Error的解决
- 第七届蓝桥杯第8题:四平方和
- 蓝桥杯 带分数
- android_TwoScreen
- try catch finally 几种情况下的执行结果。