python argparse详解,pythonargparse,1.argparse
python argparse详解,pythonargparse,1.argparse
1.argparse模块作用
用于解析命令行参数
2.位置参数和可选参数
运行以下代码:
import argparseparser = argparse.ArgumentParser()args = parser.parse_args()
运行结果:
参数为-h或--help时,parser.parse_args()会输出命令行的位置参数position arguments和可选参数optional arguments
位置参数:按照参数的顺序解析,参数必填
可选参数:以-或--开头,参数非必填
位置参数,可选参数示例如下:
import argparseparser = argparse.ArgumentParser()parser.add_argument("num", type=int, help="position")parser.add_argument("--mode", "-m", type=int, help="optional")args = parser.parse_args()
运行结果:
num为一个位置参数,type表示参数的类型,参数默认都是string类型的,help表示参数的描述
--mode,以--开头,为一个可选参数,可以有多个别名(--mode,-m)
可选参数,不是必填的,一般用来作条件分支,如下所示:
import argparseparser = argparse.ArgumentParser()parser.add_argument("num", type=int, help="position")parser.add_argument("--mode", "-m", type=int, help="optional")args = parser.parse_args()result = 0if args.mode == 1: result = args.num ** 2else: result = args.num * 2print(result)
运行结果:
当mode=1时,计算num的平方,否则,计算num*2
指定参数的范围,choice
import argparseparser = argparse.ArgumentParser()parser.add_argument("num", type=int, choices=[5, 6, 7], help="position")parser.add_argument("--mode", "-m", action="store_true", help="optional")args = parser.parse_args()result = 0if args.mode: result = args.num ** 2else: result = args.num * 2print(result)
运行结果:
3.可选参数
位置参数没有太多要讲的,必填,类型必须和定义的一致(默认为string),否则会报错。
可选参数有以下几种action
1)store_true
有参数时为true,没有为false,有参数时不能指定参数的值
import argparseparser = argparse.ArgumentParser()parser.add_argument("num", type=int, help="position")parser.add_argument("--mode", "-m", action="store_true", help="optional")args = parser.parse_args()result = 0if args.mode: result = args.num ** 2else: result = args.num * 2print(result)
运行结果:
2)count
数值,-m表示1,-mm或-m -m表示2,以此类推
import argparseparser = argparse.ArgumentParser()parser.add_argument("num", type=int, choices=[5, 6, 7], help="position")parser.add_argument("--mode", "-m", action="count", help="optional")args = parser.parse_args()result = 0if args.mode == 1: result = args.num ** 2elif args.mode == 2: result = args.num * 2else: result = args.numprint(result)
不加参数,表示None,可以设置默认count,则-m表示默认值+1
import argparseparser = argparse.ArgumentParser()parser.add_argument("num", type=int, help="position")parser.add_argument("--mode", "-m", action="count", default=1, help="optional")args = parser.parse_args()result = 0if args.mode == 1: result = args.num ** 2elif args.mode == 2: result = args.num * 2else: result = args.numprint(result)
运行结果:
python argparse详解
相关内容
- Python3 Tkinter基础 Checkbutton 使用for循环生成多个 anchor
- python接口自动化23-token参数关联登录(登录拉勾网),
- (原创)odoo11.0 如何运行python单元测试,odoo11.0python,官方
- 用 Python 实现武科大教务处自动抢课,python武科,首先分
- python模块之openpyxl,pythonopenpyxl,这是一个第三方库,可
- 微信跳一跳python程序,信跳python程序,#源码下载地址:
- Python 随笔之Redis,python随笔redis,Python学习记录
- python 自动识别黄图,,from watch
- 从0开始学Python,0基础小白,python小白,Python3学习第
- python多线程学习一,python多线程学习, 本文希望达到
评论关闭