python中argparse 命令行参数解析包
2023-06-13 09:18:06 时间
简介
argparse 是python自带的命令行参数解析包,可以用来方便地读取命令行参数,当你的代码需要频繁地修改参数的时候,使用这个工具可以将参数和代码分离开来,让你的代码更简洁,适用范围更广
使用方法
- 导入 argparse
- 创建 ArgumentParser 对象,可添加描述(description)信息,表明这个对象的功能
- 添加参数处理,可添加多个
import argparse
def get_parser():
# 创建ArgumentParser对象,里面可以添加描述信息
parser = argparse.ArgumentParser(description="Demo of argparse")
# 添加参数处理
parser.add_argument('--name', default='Coolin')
return parser
if __name__ == '__main__':
parser = get_parser()
args = parser.parse_args()
name = args.name
print('name:%s' % name)
#输出
$ python name.py --name zcy
name:zcy
参数解析
1、变量名:
ArgumentParser.add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help][,metavar][, dest])
- name : 参数全名,需要加在参数上 如:python demo.py --name zcy
- n:参数简称,可与–name同时存在
- name 或者 dest=name:参数名,提供参数占位符,必须填写,否则报错。如:python demo.py zcy
2、default参数:提供参数默认值
3、required:默认情况下,可选项(前面有'-')被认为并不一定需要出现在命令行参数中,但是如果设置了required=True的话,则必须出现。此类设置违背人的常识,应避免使用
4、type:用于类型检查和类型转换;参数类型,默认是str ,如果需要int ,type=int即可
5、choices:参数的值只能在几个选项中选择:
# file-name: choices.py
import argparse
def get_parser():
parser = argparse.ArgumentParser(
description='choices demo')
parser.add_argument('-arch', required=True, choices=['alexnet', 'vgg'])
return parser
if __name__ == '__main__':
parser = get_parser()
args = parser.parse_args()
print('the arch of CNN is '.format(args.arch))
6、help:指定参数的说明信息,可使用-h(–help)查看该信息
7、nargs:设置参数的个数
格式
parser.add_argument('-name', nargs=x)
x 的候选值以及含义
值 | 含义 |
---|---|
N | 参数的绝对个数(如:3) |
‘?’ | 0或1个参数 |
‘*’ | 0或多个参数 |
‘+’ | 1或者多个参数 |
# file-name: nargs.py
import argparse
def get_parser():
parser = argparse.ArgumentParser(
description='nargs demo')
parser.add_argument('-name', required=True, nargs='+')
return parser
if __name__ == '__main__':
parser = get_parser()
args = parser.parse_args()
names = ', '.join(args.name)
print('Hello to {}'.format(names))
#输出
$ python nargs.py -name A B C
Hello to A, B, C
8、metavar: 参数的名字,在显示 帮助信息时才用到.(帮助信息)
相关文章
- aic准则python_Python数据科学:线性回归
- python的进制转换器,Python进制转换[通俗易懂]
- python大数据分析实例-用Python整合的大数据分析实例
- python中bool函数_bool()函数以及Python中的示例
- python截图识别文字_Python文字截图识别OCR工具实例解析
- python爬虫—–Python访问http的几种方式「建议收藏」
- python判断linux中文件是否存在_Python判断文件是否存在的三种方法
- python 多线程测试_【Python】多线程网站死链检测工具
- json转字符串 python_Python读取json
- Python入门与基础刷题篇(7)
- Python 合并 dict
- Python 生成随机数_python 随机字符串
- python type error是什么意思_Python 报错 TypeError:’DoesNotExist’对象不可调用
- 20 个 解决日常编程问题的Python 代码片段
- Python 命令行cmd指定颜色设置
- python绘制双坐标图
- java和python单例模式的10种写法
- java和python实现最短路径算法
- 看到抖音上Python工程师晒得工资条,我沉默了......
- Python 接口测试之Excel表格数据操作方法封装
- 小白的Python之路 day5 python模块详解及import本质编程语言
- 一步一步学会在Linux上运行Python程序(linux运行python程序)
- python获取命令行参数函数