argparse是python标准库里面用来处理命令行参数的库
命令行参数分为位置参数和选项参数:
位置参数就是程序根据该参数出现的位置来确定的
如:[root@openstack_1 /]# ls root/ #其中root/是位置参数
选项参数是应用程序已经提前定义好的参数,不是随意指定的
如:[root@openstack_1 /]# ls -l # -l 就是ls命令里的一个选项参数、
基本使用
import argparse # 创建解析器 parser = argparse.ArgumentParser(description = 'This is a test') parser.parse_args()
可以在shell中测试:
$ python test.py --help ...
添加参数
import argparse parser = argparse.ArgumentParser(description = 'This is a test') parser.add_argument("-p","--port",help='increase output port') # 定义了可选参数-p和--port,赋值后,其值保存在args.port中(其值都是保存在最后一个定义的参数中) args = parser.parse_args() print(args.echo)
argparse.ArgumentParser()方法参数须知:一般我们只选择用description
prog=None - 程序名
description=None, - help时显示的开始文字
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)
add_argument()方法参数须知:
name or flags... - 必选,指定参数的形式,一般写两个,一个短参数,一个长参数
使用时候:
$ python test.py -p 50 或 $ python test.py --port 50
指定类型
我们也可以在添加参数的时候指定其类型。
import argparse parser = argparse.ArgumentParser(description = 'This is a test') parser.add_argument("square",help="display a given number",type=int) # 指定给square的参数为int类型
可选参数
import argparse parser = argparse.ArgumentParser() parser.add_argument("-v", help="increase output verbosity") args = parser.parse_args() if args.v: print("v turned on")
使用:
$ python test.py -v any
文档
更多应用请百度或者查文档:https://docs.python.org/3/library/argparse.html#module-argparse
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍详解Python time库的使用,包括了详解Python time库的使用的使用技巧和注意事项,需要的朋友参考一下 一、时间获取函数 二、时间格式化 三、时间进度条 测量时间:perf_counter() 返回系统运行时间。由于返回值的基准点是未定义的,所以,只有连续调用的结果之间的差才是有效的。 产生时间:sleep(secs) 推迟调用线程的运行 secs:休眠时间;可以是浮点
本文向大家介绍Python 中Pickle库的使用详解,包括了Python 中Pickle库的使用详解的使用技巧和注意事项,需要的朋友参考一下 在“通过简单示例来理解什么是机器学习”这篇文章里提到了pickle库的使用,本文来做进一步的阐述。 那么为什么需要序列化和反序列化这一操作呢? 1.便于存储。序列化过程将文本信息转变为二进制数据流。这样就信息就容易存储在硬盘之中,当需要读取文件的时候,
本文向大家介绍Python argparse模块使用方法解析,包括了Python argparse模块使用方法解析的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了Python argparse模块使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1. 说明 argparse 模块是python 用于解析命令行参数和选项的标准
问题内容: 是否可以在Python的用法或帮助()中不显示参数的情况下将其添加到python中? 问题答案: 是的,您可以将选项设置为。这是argparse文档中的示例:
问题内容: 我想使用argparse解析布尔命令行参数,写为。例如: 但是,以下测试代码不能满足我的要求: 可悲的是,计算结果为True。即使我更改为,情况也是如此,这令人惊讶,因为评估为。 如何获取进行解析,以及它们的小写字母形式是什么? 问题答案: 另一个解决方案使用了先前的建议,但存在来自以下情况的“正确”解析错误: 这对于使用默认值进行切换非常有用。例如 允许我使用:
本文向大家介绍Python运维开发之psutil库的使用详解,包括了Python运维开发之psutil库的使用详解的使用技巧和注意事项,需要的朋友参考一下 介绍 psutil能够轻松实现获取系统运行的进程和系统利用率。 导入模块 获取系统性能信息 CPU信息 使用cpu_times()方法获取CPU的完整信息: 获取单项数据,例如用户user的CPU时间比: 获取CPU的个数: 内存信息 获取物理