argparse模块是Python内置的参数解析模块,相较于传统的 sys.argv 来说,其功能更加的强大,操作也更灵活。

ArgumentParser类创建时的参数如下:

  • prog - 程序的名字(默认:sys.argv[0])
  • usage - 描述程序用法的字符串(默认:从解析器的参数生成)
  • description - 参数帮助信息之前的文本(默认:空)
  • epilog - 参数帮助信息之后的文本(默认:空)
  • parents - ArgumentParser 对象的一个列表,这些对象的参数应该包括进去
  • formatter_class - 定制化帮助信息的类
  • prefix_chars - 可选参数的前缀字符集(默认:‘-‘)
  • fromfile_prefix_chars - 额外的参数应该读取的文件的前缀字符集(默认:None)
  • argument_default - 参数的全局默认值(默认:None)
  • conflict_handler - 解决冲突的可选参数的策略(通常没有必要)
  • add_help - 给解析器添加-h/–help 选项(默认:True)

add_argument函数的参数如下:

  • name or flags - 选项字符串的名字或者列表,例如foo 或者-f, –foo。
  • action - 在命令行遇到该参数时采取的基本动作类型。
  • nargs - 应该读取的命令行参数数目。
  • const - 某些action和nargs选项要求的常数值。
  • default - 如果命令行中没有出现该参数时的默认值。
  • type - 命令行参数应该被转换成的类型。
  • choices - 参数可允许的值的一个容器。
  • required - 该命令行选项是否可以省略(只针对可选参数)。
  • help - 参数的简短描述。
  • metavar - 参数在帮助信息中的名字。
  • dest - 给parse_args()返回的对象要添加的属性名称。

1.定位参数的使用

import argparse #创建 ArgumentParser的工程
parser = argparse.ArgumentParser()  #添加argument
parser.add_argument('integer', type=int, help='display an integer')  #解析参数
args = parser.parse_args()
print (args.integer)   

1.1首先打开win下的CMD ,进入到  untitled0.py 的文件夹

1.2  输入python +untitled0.py(文件名)+4(参数的值)

1.3 回车运行  .py文件

注意程序中设置的type类型是int  ,所以给定参数的值也需要是int 类型,否则程序会报错

2.可选参数的使用

参数可选就是在使用.py文件时,需要指定参数名称并给出相应的值

import argparseparser = argparse.ArgumentParser()parser.add_argument("--square", help="display a square of a given number", type=int)
parser.add_argument("--cubic", help="display a cubic of a given number", type=int)args = parser.parse_args()if args.square:print(args.square**2)if args.cubic:print(args.cubic**3)   

和定位参数的使用一致,注意给定参数的类型,否则程序会报错

2.1首先打开win下的CMD ,进入到  untitled0.py 的文件夹

2.2输入  python   .\untitled0.py  --square 2  --cubic 3

2.3 回车运行  .py文件

运行结果如下:


3 其他说明

import argparse# Create ArgumentParser() object
parser = argparse.ArgumentParser()# Add argument
parser.add_argument('--train', required=True, help='path to dataset')
parser.add_argument('--val', required=True, help='path to dataset')
parser.add_argument('--total', type=int, help='number of dataset', default=100)
parser.add_argument('--lr', type=float, default=0.01, help='learning rate')# Print usage
parser.print_help()# Parse argument
args = parser.parse_args()# Print argsprint(args)
print(args.train)
print(type(args.train))
print(args.val)
print(type(args.val))
print(args.total)
print(type(args.total))
print(args.lr)
print(type(args.lr))

3.1输入  python .\untitled0.py  -h   可以查看argument中的帮助信息

结果如下:

argument 中default 参数代表 参数的默认值,当没有该输入的参数时,就以默认值作为输入,如argument中没有default参数,程序运行时一定要对给定的参数进行赋值。

3.2进入文件目录下  输入  python .\untitled0.py  --train train_lmdb  --val val_lmdb

运行结果如下:

windows 下 Python的命令行参数解析 argparse模块 的使用相关推荐

  1. Python之命令行参数解析

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

  2. Python的命令行参数解析

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

  3. python带命令行参数解析的文件遍历脚本(找出文件名长度大于某值的文件)

    背景 复制一个目录时,提示有个文件名太长未能复制成功,然后忘记是哪个了,现在要靠脚本把它找出来. 代码 #!/usr/bin/pythonimport getopt import os import ...

  4. Python中最好用的命令行参数解析工具

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

  5. python 命令行参数-Python 中最好用的命令行参数解析工具

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

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

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

  7. 8145v5 参数_Python中最好用的命令行参数解析工具

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

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

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

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

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

最新文章

  1. 【Linux】1_系统部署
  2. Linux新手入门:通过chmod改变文件权限--转
  3. .NET平台开源项目速览(3)小巧轻量级NoSQL文件数据库LiteDB
  4. 【SpringBoot实战】员工部门管理页面,增删改查,含源码
  5. 666表情包的c语言程序设计教程课后答案,C语言设计题
  6. sklearn 决策树例子_使用 sklearn 构建决策树并使用 Graphviz 绘制树结构
  7. 100m光纤测速多少正常_光纤收发器的分类知识详解
  8. mybatis-plus 中 queryWrapper and与or嵌套
  9. Transformer预训练模型已经变革NLP领域,一文概览当前现状
  10. java面试题库精选
  11. IAR Systems 历史版本下载地址
  12. cinta作业6:拉格朗日定理
  13. Leetcode剑指offer——面试题10- II. 青蛙跳台阶问题
  14. Ubuntu18.04+输入法
  15. c语言符号错误怎么避免,C语言中常见符号问题探析
  16. 钱钟书是怎样做读书笔记的 杨绛
  17. 弘辽科技:拼多多券后价影响报活动吗?怎么平衡?
  18. 2013編程之美 集会 三分
  19. 如何查看多个Office 365 Group的Owner
  20. 160个CrackMe 028 Cosh.2

热门文章

  1. HTML nav 标签
  2. 互联网电影院深化海外布局
  3. 不想落伍就得顺应时代的发展,开发APP有什么好处你知道吗?
  4. idea中使用maven以后出现了程序包不存在的问题
  5. Python int()的有趣用法
  6. 11【C语言 趣味算法】个人所得税问题(结构体应用):结构体的声明、定义结构体类型的三种方法等
  7. bochs配置文件 oslab/bochs/bochsrc.bxrc
  8. JupyterHub -安装与配置-简介
  9. js 读取excel文件中的时间格式转换问题
  10. 美术学习2500:模型常见问题及规范