Python2.7-argparse
argparse模块,用于方便地编写用户友好的命令行接口,可以自动生成帮助信息,用法信息和错误处理
1、模块对象
1.1 ArgumentParser 对象
1.1.1 初始化构建类:ArgumentParser(prog=None, usage=None, description=None, epilog=None, parents=[], formatter_class=argparse.HelpFormatter, prefix_chars='-', fromfile_prefix_chars=None, argument_default=None, conflict_handler='error', add_help=True)
参数设置:
prog:程序的名字,默认为 sys.argv[0],即 py 文件名字
usage:一个描述程序的用法的字符串,默认包含所有加进去的参数
description:最常用的属性,简单描述程序的用处和用法,在 usage 和具体帮助之间显示,默认为 none
epilog:放在帮助后面的字符串,默认为 none
parents:一个 ArgumentParser 对象的列表,这些对象里的参数也会被包含进来,用于有许多共享的参数,类似继承,需要把这些父对象的 add_help 属性设为 False
formatter_class:设置控制帮助信息输出的类,默认会自动换行,有
argparse.RawDescriptionHelpFormatter:不自动换行,怎么输入怎么输出
argparse.RawTextHelpFormatter:保留所有空格,但会把多个连续换行合成为一个
argparse.ArgumentDefaultsHelpFormatter:在帮助信息里加上默认值
prefix_chars:控制命令行命令前的符号,默认 ‘-‘,可以自定义
fromfile_prefix_chars:当程序所需参数较多时可以从文件读入,这时可以设置这个属性识别文件,在指定字符后的参数就视为文件打开读取参数,默认为 None
argument_default:参数的全局默认属性,默认为 None
conflict_handler:设置为‘resolve’可以覆盖相同名字的操作,否则会报错,一般不使用
add_help:添加 -h/--help 操作,默认 True
1.1.2 实例方法
add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest]):
参数设置:
name or flags:如果添加可选参数,则在前面加上‘-’或是自定义的前缀字符(prefix_chars),否则认为是定位参数(positional)即必须的参数
action:设置此参数被调用时的操作,有'store','store_const','store_true','store_false','append','append_const','count','help','version',可以自定义
nargs:每个操作需要的参数个数,有 N,'?','*','+',argparse.REMAINDER
const:设置不从命令行读取但是后续操作需要的常数,默认为 none
default:设置可以不从命令行读取的默认值,默认为 none
type:转换命令行的字符串至指定格式,支持所有内置类型,还有文件操作 argparse.FileType('r,w'),所有自定义的以一个字符串为参数返回转换后的值的可调用对象都可以
choices:包含所有支持的参数,不在这个范围内会报错,可以控制输入
required:设置可选参数是否为必选,避免使用
help:设置帮助信息,支持格式化字符串,argparse.SUPPRESS 会在显示帮助时隐藏对应的操作
metavar:设置帮助信息里各个参数的别名
dest:设置命令行里获得的参数存放到哪个属性中
parse_args(args=None, namespace=None):
参数设置:
args:要解析的字符串列表,默认从 sys.argv 获得
namespace:存放获得的属性的一个对象
add_subparsers([title][, description][, prog][, parser_class][, action][, option_string][, dest][, help][, metavar]):通常不设置参数,返回一个有特定操作的对象
参数设置:
title:帮助中的名字
description:帮助中的描述
prog:使用信息
parser_class:指定从哪个父类中创建子对象
action、dest、help、metavar:同上
set_defaults(**kwargs):设置默认值
get_default(dest):获得 dest 的默认值
print_usage(file=None):输出 usage 信息
print_help(file=None):输出帮助信息
Python2.7-argparse的更多相关文章
- (原+转)pycharm中传入命令行参数
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5670821.html 参考网址: http://zhidao.baidu.com/question/5 ...
- openstack高可用集群19-linuxbridge结合vxlan
生产环境,假设我们的openstack是公有云,我们一般的linuxbridge结合vlan的模式相对于大量的用户来说是vlan是不够用的,于是我们引进vxlan技术解决云主机内网网络通讯的问题. 我 ...
- [记录]Python2.7使用argparse模块
# -*- coding: utf8 -*- import argparse #ArgumentParser.add_argument(name or flags-[, action][, nargs ...
- argparse - 命令行选项与参数解析(转)
argparse - 命令行选项与参数解析(译)Mar 30, 2013 原文:argparse – Command line option and argument parsing 译者:young ...
- Python之argparse模块
argparse 命令行参数解析模块,原optparse已经停止开发,建议替换为argparse 在python2.7后默认加入 parser ArgumentParser默认解析来源sys.argv ...
- Python中最好用的命令行解析工具:argparse
Python 做为一个脚本语言,可以很方便地写各种工具.当你在服务端要运行一个工具或服务时,输入参数似乎是一种硬需(当然你也可以通过配置文件来实现). 如果要以命令行执行,那你需要解析一个命令行参数解 ...
- 用python进行OpenCV实战之用OpenCV3实现图片载入、显示和储存(argparse详细解释)
将下面文档存为load_display_save.py #-*- coding:utf-8 -*- ap = argparse.ArgumentParser() ap.add_argument(&qu ...
- argparse - 命令行选项与参数解析
argparse模块作为optparse的一个替代被添加到Python2.7.argparse的实现支持一些不易于添加到optparse以及要求向后不兼容API变化的特性,因此以一个新模块添加到标准库 ...
- 基于python2+selenium3+pytest4的UI自动化框架
环境:Python2.7.10, selenium3.141.0, pytest4.6.6, pytest-html1.22.0, Windows-7-6.1.7601-SP1 特点:- 二次封装了s ...
- python argparse总结
python2.7废除optparse,原因:http://code.google.com/p/argparse/ 说了半天好像是重开了个小号练级 抓紧写下来一会又得忘了 用法: import arg ...
随机推荐
- Win10 新功能 改变显示器色彩
如果你是一个爱看书的工作族,相信一定梦想你的电脑变得跟Kindle一样,这样每天盯着电脑几个小时,眼睛都不会痛了……下面就来看看Win10带来的新体验吧! Ctr+ Windows Key + C 可 ...
- C#转换成Json的方法集
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Te ...
- (转发)一个通用的C++ 消息总线框架
注:转自https://www.cnblogs.com/qicosmos/archive/2013/04/28/3048919.html 应用开发过程中经常会处理对象间通信的问题,一般都是对象或接口的 ...
- HDU4162(最小循环表示)
Shape Number Time Limit: 24000/12000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- unity中生成一个GUI格子(始终居中)
1.Script程序 using UnityEngine; using System.Collections; public class GUITest : MonoBehaviour { [Seri ...
- 解决input中智能提示框onblur与onclick冲突的问题
背景: 制作一个类似百度输入法的智能提示框, 其中当关键词输入进来时,会有智能提示展开,实际需求是当点击智能提示框的汉字时,输入框中自动补全并关闭智能提示, 当点击其他区域时,智能提示框自动隐藏,如下 ...
- 纯小白入手 vue3.0 CLI - 2.4 - 新组件 Forms.vue 中学习表单
vue3.0 CLI 真小白一步一步入手全教程系列:https://www.cnblogs.com/ndos/category/1295752.html 我的 github 地址 - vue3.0St ...
- 基于 Web 的 Go 语言 IDE - Wide 1.5.2 发布!
这个版本由热心的开源贡献者加入了韩语支持,欢迎各位 gophers 加入到 Wide 的开源开发中.另外,这个版本还改进了 Playground,使其更稳定和易用.目前黑客派社区已经支持嵌入 Wide ...
- 2018-10-27 22:44:33 c language
2018-10-27 22:44:33 c language 标准的C语言并不支持上面的二进制写法,只是有些编译器自己进行了扩展,才支持二进制数字.并不是所有的编译器都支持二进制数字,只有一部分编译 ...
- [Objective-C] Block实现回调和简单的学习思考
初识Block的时候,总觉得其很可怕,因为看不懂其运行原理,所以用起来总是觉得不安全.关于Block的语法,等我把手里的资料全部看完,整理好再发出来.这次先看看用Block怎么实现回调. 新博客:wo ...