python命令行参数argparse模块基本用法详解
作者:啊哈彭 时间:2023-07-31 03:14:21
argparse 是python自带的命令行参数解析包,可以用来方便地读取命令行参数。
一、传入一个参数
import argparse
# 创建一个命令行参数解析器
parser = argparse.ArgumentParser(description='命令行中传入一个数字')
# 往解析器里面添加参数
parser.add_argument('integer', type=str, help='传入的数字')
# 得到命令行传入的参数
args = parser.parse_args()
print(args.integer)
二、传入多个参数
import argparse
# 创建一个命令行参数解析器
parser = argparse.ArgumentParser(description='命令行中传入一个数字')
# 往解析器里面添加参数
parser.add_argument('integer', type=str, nargs='+', help='传入的数字')
# 得到命令行传入的参数
args = parser.parse_args()
print(args.integer) # 以列表形式返回
注:
- nargs='+': 传入一个或多个参数
- nargs='*': 传入零个或多个参数
- nargs='?': 传入零个或一个参数
三、改变数据类型
# 可通过更改type参数修改数据类型
parser.add_argument('integer', type=str, nargs='+', help='传入的数字')
四、可选参数(关键字参数)
注:参数前面加双横杠"- -"表示这个参数是可选参数,即在命令行中可以以键值得形式指定,顺序可以打乱。
import argparse
parser = argparse.ArgumentParser(description='姓名')
parser.add_argument('--family', type=str, help='姓')
parser.add_argument('--name', type=str, help='名')
args = parser.parse_args()
#打印姓名
print(args.family+args.name)
命令行命令:
python XXX.py --family 张 --name 三 or
python XXX.py --name 三 --family 张
五、参数默认值
通过default指定默认值。
parser.add_argument('--family', default='李', type=str, help='姓')
parser.add_argument('--name', type=str, help='名')
六、参数解析
parse_args()只能解析已知参数,parse_known_args()兼容未知参数并返回。
import argparse
parser = argparse.ArgumentParser(description='姓名')
parser.add_argument('--family', type=str,help='姓')
parser.add_argument('--name', type=str,help='名')
args = parser.parse_args()
# args, dynamic_args = parser.parse_known_args()
print(args)
print(dynamic_args)
命令行示例:
python XXX.py --family 张 --name 三 --test hello
结果:
args = parser.parse_args() # 报错, error: unrecognized arguments: --test 5
args, dynamic_args = parser.parse_known_args() # 成功返回
补充:python中的argparse基本用法
1、argparse是一个python模块,用途是:命令行选项、参数和子命令的解释。
2、使用步骤:
导入argparse模块,并创建解释器
添加所需参数
解析参数
3、用法示例:
import argparse
# 1.创建解释器
parser = argparse.ArgumentParser(description="可写可不写,只是在命令行参数出现错误的时候,随着错误信息打印出来。")
# 2.添加需要的参数
parser.add_argument('-gf', '--girlfriend', choices=['jingjing', 'lihuan'])
# 参数解释
# -gf 代表短选项,在命令行输入-gf和--girlfriend的效果是一样的,作用是简化参数输入
#--girlfriend 代表完整的参数名称,可以尽量做到让人见名知意,需要注意的是如果想通过解析后的参数取出该值,必须使用带--的名称
# choices 代表输入参数的只能是这个choices里面的内容,其他内容则会保错
parser.add_argument('--house', type=int, default=0)
# 参数解释
# --house 代表参数名称
# type 代表输入的参数类型,从命令行输入的参数,默认是字符串类型
# default 代表如果该参数不输入,则会默认使用该值
parser.add_argument('food')
# 参数解释
# 该种方式则要求必须输入该参数
# 输入该参数不需要指定参数名称,指定反而报错,解释器会自动将输入的参数赋值给food
# 3.进行参数解析
args = parser.parse_args()
print('------args---------',args)
print('-------gf-------', args.girlfriend)
4、命令行运行方式
假设上述文件的名字是gf.py
在命令行运行时,则有以下几种情况:
python gf.py potato ,这种方式会将potato赋值给food
python gf.py -gf jingjing tomato,该种方式会将jingjing赋值给girlfriend,tomato赋值给food
python gf.py --house 2 chicken,该种方式会将house赋值为2,food赋值为chicken
下面为以上三种情况的具体运行时截图:
a.
b.
c.
学会了以上的几种方式,argparse模块的基本用法也就掌握了。
来源:https://www.cnblogs.com/pingwen/p/17071860.html
标签:python,命令行,参数,argparse
0
投稿
猜你喜欢
小议JavaScript泛式框架架构的逻辑形式
2010-07-02 12:55:00
记一次成功的sql注入入侵检测附带sql性能优化
2011-09-30 11:29:39
Python装饰器(decorator)定义与用法详解
2022-07-21 03:11:25
Python 简单计算要求形状面积的实例
2022-10-19 09:02:33
同时安装sql2000和sql2005,经验点滴
2008-03-04 17:56:00
浅谈Go语言中字符串和数组
2024-04-25 15:14:36
Python 抓取动态网页内容方案详解
2022-05-19 02:09:29
Ubuntu16.04安装python3.6.5步骤详解
2023-01-01 08:06:58
asp的日期转换星座函数
2010-06-09 21:05:00
python读写数据读写csv文件(pandas用法)
2021-06-15 15:28:03
BootStrap 表单控件之单选按钮水平排列
2024-05-11 09:43:18
实例探究Python以并发方式编写高性能端口扫描器的方法
2022-01-12 14:38:52
用python实现名片管理系统
2022-03-27 09:34:33
Python常用的json标准库
2022-02-26 10:37:52
Python selenium实现断言3种方法解析
2023-06-06 06:08:53
mysqldumpslow用法示例(慢查询)
2024-01-15 22:42:03
python中实现延时回调普通函数示例代码
2023-10-03 02:17:04
Python作用域用法实例详解
2022-12-10 15:44:42
原生js实现移动小球(碰撞检测)
2024-04-19 09:56:01
JupyterNotebook设置Python环境的方法步骤
2023-01-15 12:22:14