定义:argparse是python标准库里面用来处理命令行参数的库

命令行参数分为位置参数和选项参数:

位置(必选)参数:前面不需要-或者–;

可选参数:通过一个-来指定的短参数,如-h;通过–来指定的长参数,如- -help

使用步骤:

(1)import argparse 首先导入模块

(2)parser = argparse.ArgumentParser() 创建一个解析对象

(3)parser.add_argument() 向该对象中添加你要关注的命令行参数和选项

(4)args = parser.parse_args() 进行解析 或者 args,unparsed = parser.parse_known_args()

(5)索引参数args.pospath

(4‘)或者args = vars(parser.parse_args())将其变为一个字典

(5‘)索引参数 args[‘pospath’]

函数参数:

argparse.ArgumentParser 一般我们只选择用description

ArgumentParser对象保存了所有必要的信息,用以将命令行参数解析为相应的python数据类型。

prog=None - The name of the program (default: sys.argv[0]) 程序文件名
usage=None - The string describing the program usage (default:
generated from arguments added to parser) 程序使用说明 description=None -
help时显示的开始文字 Text to display before the argument help (default: none)
epilog=None, - help时显示的结尾文字 parents=[], -若与其他参数的一些内容一样,可以继承
formatter_class=argparse.HelpFormatter, - 自定义帮助信息的格式
prefix_chars=’-’, - 命令的前缀,默认是‘-’ fromfile_prefix_chars=None, -
命令行参数从文件中读取 argument_default=None, - 设置一个全局的选项缺省值,一般每个选项单独设置
conflict_handler=‘error’, -
定义两个add_argument中添加的选项名字发生冲突时怎么处理,默认处理是抛出异常 add_help=True -
是否增加-h/–help选项,默认是True)

parser.add_argument()

通过add-argument()方法来给ArgumentParser对象添加新的命令行参数,参数的类型和相应的处理方法由不同的参数决定。

name or flags… - 必选参数名或者可选参数标识符,它必须作为add_argument()方法的第一个参数。 dest
这个参数相当于把位置参数或者选项参数关联到一个特定的名字 action - 表示值赋予键的方式,这里用到的是bool类型,action意思是当读取的参数中出现指定参数的时候的行为 help -
参数的说明信息 required - 说明参数是否必须进行输入,只支持可选参数。 type - 指定命令行参数数据类型
choices - 说明命令行参数的取值范围,它的值一般是一个列表。choices列表中元素的类型应该与type批定的类型相兼容
nargs -
指定这个参数后面的value有多少个,默认为1,如果设定为数字,比如2,表示接受2个value;如果设定为‘?’那么就只接受1个或者0个value,当0个value是默认值是default的value;如果设定为‘*’,后面可接多个value
default - 必选参数和可选的参数的默认值。

args=parser.parse_args(args=None, namespace=None)

parse_args()方法将命令行参数字符串转换为相应对象并赋值给Namespace对象的相应属性,默认返回一个Namespace对象。

args - List of strings to parse. The default is taken from
sys.argv. 字符串列表,默认来自sys.argv namespace - An object to take the
attributes. The default is a new empty Namespace object.
对象名,默认是一个空Namespace对象。

args,unparsed = parser.parse_known_args()

args为namespace空间,包含程序定义了的命令行参数,而unparsed为程序没有定义的命令行参数。和上面函数不一样的在于,如果命令行输入没有定义的参数,不会报错(但是上面的会报错),并且返回一个列表给unparsed,里面包含的就是未定义的输入参数。

示例
编写py文件 get.py

import argparseparser = argparse.ArgumentParser()
parser.add_argument("-t", "--timer_name", help="timer name")
parser.add_argument("-p", "--project", help="project name")
args = parser.parse_args()print("-t:%s" % args.timer_name)
print('-p:%s' % args.project)

在命令行输入 python get.py -t 123 -p 456

输出:

-t:123
-p:456

Python之argparse相关推荐

  1. python使用argparse解析命令行参数

    python使用argparse解析命令行参数 你的程序如何能够解析命令行选项(位于sys.argv中) #示意使用sys.argv进行参数解析: #注意,sys.argv中第0个索引是函数本身,所以 ...

  2. python的argparse模块

    使用步骤: 1:import argparse        #导入argparse模块 2:parser = argparse.ArgumentParser()        #创建实例 3:par ...

  3. Python的argparse

    Python argparse module is the preferred way to parse command line arguments. Parsing command-line ar ...

  4. python遍历argparse的parse_args()

    python遍历argparse的parse_args()对象 由于我想把parse_args()对象的数据格式化后保存在log日志文件,于是我想要遍历解析器配置的参数. 简单通过for i in a ...

  5. python自学argparse模块

    argparse模块 argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块 使用步骤 import argparse # 导入模块,这个没什么说的 ...

  6. python:argparse命令行解析模块详解

    argparse命令行解析模块学习 import argparse parser = argparse.ArgumentParser() #类似于初始化吧 parser.parse_args() #解 ...

  7. python 中argparse 实例解析

    一 概念: argparse是python的一个命令行解析包.它可以使写用户友好的命令行接口变得非常容易.该模块定义什么参数是需要的,并且能指出怎么解析sys.argv的参数.它也可以自动的生成帮助和 ...

  8. python之Argparse模块

    argparse 模块可以轻松编写用户友好的命令行接口.程序定义它需要的参数,然后 argparse 将弄清如何从 sys.argv 解析出那些参数. argparse 模块还会自动生成帮助和使用手册 ...

  9. python中argparse模块

    参考官方文档https://docs.python.org/zh-cn/3/library/argparse.html#nargs python中参数解释器,使用流程: import argparse ...

  10. Python 中argparse模块的使用

    正文共495个字,预计阅读时间5分钟. Python解析命令行读取参数有两种方式:sys.argv和argparse 1.sys.argv 如果脚本很简单或临时使用,没有多个复杂的参数选项,可以直接利 ...

最新文章

  1. 蓝桥杯_算法训练_最小乘积(基本型)
  2. 【微信小程序】wx:if
  3. list 数据类型的应用场景
  4. 四人帮–代理设计模式
  5. 从踩坑到填坑|淘宝Web 3D应用与游戏开发实战
  6. 汇编语言-王爽 随书源码、检测点、实验答案
  7. [转]asp 无法连接 access,出现 -2147467259 未指定的错误
  8. OS + Win Office / word / excel / ppt / powerpoint / keyboard_shortcut
  9. 计算机复制粘贴不可用问题解决,电脑复制粘贴功能失效无法复制粘贴文字怎么办...
  10. 解决regedit taskmgr不能启动
  11. 2022牛客多校J题 Serval and Essay
  12. 动态规划(Dynamic Programing)背包——01背包
  13. Excel 有哪些可能需要熟练掌握而很多人不会的技能2
  14. 【Bug小记】input:-webkit-autofill:输入框自动填充背景问题
  15. k-means算法进行员工培训方向分组
  16. java-net-php-python-16jspm望奎县城郊所考勤系统计算机毕业设计程序
  17. 陈本峰:HTML5跨屏前端框架Amaze UI的开源之道
  18. 坐标轴删了怎么恢复_EXCEL表折线图已经删掉的图例怎么恢复 - 卡饭网
  19. Tiny210裸机开发初体验
  20. gprMax项目代码分解:gprMax.py

热门文章

  1. HTML-1-基础练习
  2. 计算机机房荷载,如何解决弱电工程中机房承重问题?
  3. 软件开发方案主要包括哪几个阶段
  4. 2021-06-29ansible解决python版本依赖
  5. Planar Shadow
  6. python并发编程之semaphore(信号量)_python并发编程之多线程
  7. 第3章 垃圾收集器与内存分配策略6
  8. 筑智建——重庆发布《房屋建筑和市政基础设施工程竣工联合验收管理办法》
  9. 金融智能监管,将会是人工智能应用的风口?
  10. ceph-deploy 添加/删除 mon节点