这是一个参数解析,可以用它快捷的为你的程序生成参数相关功能

import argparse(导入程序参数模块)

# 创建argparse对象,并将产品简要说明加入

show = '程序说明' ===>程序简要说明(字符串),输出help时会显示

p = argparse.ArgumentParser(description=show)

# 创建一个参数,如果参数名称前没有‘-’或‘--’则该参数为必填参数,如果程序运行时不给它赋值则程序将抛出异常(赋值时直接给值即可,不需输参数名,参考ping命令)

p.add_argument('参数名称(-h时会显示)', '--别名(选填,'-参数名称 = --别名')',+各种参数。。。)

# 创建一个‘--’参数,如果参数前有‘--’则为可选参数。在输入‘--参数’后再赋值。

p.add_argument('--参数名称',+各种参数。。。)

# 创建一个‘-’参数,如果参数前有‘-’则为可选参数。在输入‘-参数’后再赋值。注意:如果参数有别名则实际参数值是赋给了别名。

p.add_argument('-参数名称', '--别名(选填,'-参数名称 = --别名')',+各种参数。。。)

add_argument方法参数说明:

help:针对该参数的说明。例:help='this display information'

type:该参数字符类型(str,int,float等),如果输入类型不对则会抛异常。例:type=int

action:当该参数值为"store_true"时表示创建的是一个机关,带该参数时则表示开启该机关(创建的参数(机关)此时的值为True),不带该参数时则表示关闭该机关(创建的参数(机关)此时的值为False)。

(例:p.add_argument('--v',action='store_true') ===>如果带该参数则‘v’的值为true)

choices:限定参数值范围(规定只接收规定列表中的值),值为列表。例:choices=[1,2,3]

default:指定参数默认值。例:default=100

# 获取程序参数的值,args是一个对象,该对象里的若干属性等于参数(提取参数的值:args.参数名称)

args = p.parse_args()

# 创建两个互斥的参数

group = parser . add_mutually_exclusive_group () ======> 创建一个互斥组

group.add_argument ( "-v" , "--verbose" , action = "store_true" ) ====>互斥组内的参数不可同时出现,否则抛异常

group.add_argument ( "-q" , "--quiet" , action = "store_true" ) ====>互斥组内的参数不可同时出现,否则抛异常

代码实例:

import argparse

# 创建参数功能对象

show = '这是一个求长方形面积或长方体体积的程序'

p = argparse.ArgumentParser(description=show)

# 创建各个参数

p.add_argument('-x', help='长方形的底边长度', type=int, choices=[1, 2, 3], default=2)

p.add_argument('-z', '--kuan', help='另外一条边长', type=int, choices=[1, 2, 3], default=2)

p.add_argument('-y', '--gao', help='长方体的高度', type=int, choices=[1, 2, 3], default=2)

# 创建互斥参数

group = p.add_mutually_exclusive_group()

group.add_argument('-v', action="store_true", help='求长方形面积')

group.add_argument('-vv', action="store_true", help='求长方体体积')

# 提取参数的赋值

args = p.parse_args()

# 利用参数的值进行计算

if args.v:

print('长方形面积是%d' % (args.x * args.kuan))

elif args.vv:

print('长方体体积是%d' % (args.x * args.kuan * args.gao))

else:

print('请用使用参数表明你要使用的功能!')

程序执行命令:python a.py -x 3 -y 1 -z 2 -vv

python argparse type_python argparse(参数解析模块)相关推荐

  1. windows 下 Python的命令行参数解析 argparse模块 的使用

        argparse模块是Python内置的参数解析模块,相较于传统的 sys.argv 来说,其功能更加的强大,操作也更灵活. ArgumentParser类创建时的参数如下: prog - 程 ...

  2. python getopt使用_Python命令行参数解析模块getopt使用实例

    这篇文章主要介绍了Python命令行参数解析模块getopt使用实例,本文讲解了使用语法格式.短选项参数实例.长选项参数实例等内容,需要的朋友可以参考下 格式 getopt(args, options ...

  3. Python的命令行参数解析

    文章作者:Tyan 博客:noahsnail.com  |  CSDN  |  简书 命令行参数解析在编程语言中基本都会碰到,Python中内置了一个用于命令项选项与参数解析的模块argparse.下 ...

  4. python参数解析模块_Python系列教程(三十七):参数解析模块argparse

    使用python写出的脚本在运行的时候,是可以传递参数的,一般会使用sys.argv[]来接收用户传的参数.但是如果要实现类似于linux命令的,比如'ls -l -t /etc/'这种比较复杂的选项 ...

  5. Python命令行参数解析模块getopt使用实例

    这篇文章主要介绍了Python命令行参数解析模块getopt使用实例,本文讲解了使用语法格式.短选项参数实例.长选项参数实例等内容,需要的朋友可以参考下 格式 getopt(args, options ...

  6. Python之命令行参数解析

    Python 做为一个脚本语言,可以很方便地写各种工具.当你在服务端要运行一个工具或服务时,输入参数似乎是一种硬需(当然你也可以通过配置文件来实现). 如果要以命令行执行,那你需要解析一个命令行参数解 ...

  7. Python命令行参数解析模块------argparse

      首先,argparse 是python自带的命令行参数解析包,可以用来方便地读取命令行参数,当你的代码需要频繁地修改参数的时候,使用这个工具可以将参数和代码分离开来,让你的代码更简洁,适用范围更广 ...

  8. python命令行参数作用_Python命令行参数解析模块argparse

    前言 更多内容,请访问我的 个人博客. 以前 optparse 比较火,但是在python2.7版本后,官方不再维护这个模块,转而大力支持 argparse . argparse 模块可以让人轻松编写 ...

  9. python argparse type_python argparse详解

    1.argparse模块作用 用于解析命令行参数 2.位置参数和可选参数 运行以下代码: import argparse parser = argparse.ArgumentParser() args ...

最新文章

  1. linux系统宿主定制之初窥门径
  2. 运行jar应用程序引用其他jar包的四种方法
  3. 分享一张理解数据库inner join,left join,right join,full join的图
  4. 多表关联的update语句
  5. 关于HTML+CSS3的一些笔记
  6. ieee5节点系统图_存储系统的的关键技术之自精简技术
  7. LCP 01. 猜数字
  8. 质数的无穷性——从素数到数论
  9. 简单算法系列之完数的计算
  10. vscode替换文字快捷键_这 21 个VSCode 快捷键,能让你的代码飞起来
  11. discuz子导航下面的版块只有图标没有标题,什么原因?
  12. vscode安装 Fira Code 编程字体,编程符号更精致美观
  13. 服务器dell安装黑苹果系统,Dell D630安装10.8黑苹果全套驱动
  14. Java开发就业前景,2017java开发就业前景分析
  15. 工业界和学术界最大区别是什么?
  16. 《棒球殿堂》:棒球联盟LEAGUE·东北乐天金鹫
  17. 你不知道的华为手机小技巧,个个都非常好用,学会可以用一年
  18. 你有没有被人不动声色的保护过?
  19. java 面试题合集_撩课-Java面试题合辑1-50题
  20. 实战演练-java+微信小程序实现省市区三级联动

热门文章

  1. substringToIndex substringFromIndex
  2. .NET开发的一些小技巧
  3. 本地计算机上的SQL Server(MSSQLSERVER)服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止...
  4. ASP.NET Web API路由规则(二)
  5. c/s 自动升级(WebService)
  6. 在sql server2000的查询分析器里查询oracle的数据
  7. sql server 2008学习2 文件和文件组
  8. Excel 数据有效性,怎么提示指定的命名区域不存在?
  9. Java秒杀系统优化的工程要点
  10. Elasticsearch索引迁移的三种方式