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的更多相关文章

  1. (原+转)pycharm中传入命令行参数

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5670821.html 参考网址: http://zhidao.baidu.com/question/5 ...

  2. openstack高可用集群19-linuxbridge结合vxlan

    生产环境,假设我们的openstack是公有云,我们一般的linuxbridge结合vlan的模式相对于大量的用户来说是vlan是不够用的,于是我们引进vxlan技术解决云主机内网网络通讯的问题. 我 ...

  3. [记录]Python2.7使用argparse模块

    # -*- coding: utf8 -*- import argparse #ArgumentParser.add_argument(name or flags-[, action][, nargs ...

  4. argparse - 命令行选项与参数解析(转)

    argparse - 命令行选项与参数解析(译)Mar 30, 2013 原文:argparse – Command line option and argument parsing 译者:young ...

  5. Python之argparse模块

    argparse 命令行参数解析模块,原optparse已经停止开发,建议替换为argparse 在python2.7后默认加入 parser ArgumentParser默认解析来源sys.argv ...

  6. Python中最好用的命令行解析工具:argparse

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

  7. 用python进行OpenCV实战之用OpenCV3实现图片载入、显示和储存(argparse详细解释)

    将下面文档存为load_display_save.py #-*- coding:utf-8 -*- ap = argparse.ArgumentParser() ap.add_argument(&qu ...

  8. argparse - 命令行选项与参数解析

    argparse模块作为optparse的一个替代被添加到Python2.7.argparse的实现支持一些不易于添加到optparse以及要求向后不兼容API变化的特性,因此以一个新模块添加到标准库 ...

  9. 基于python2+selenium3+pytest4的UI自动化框架

    环境:Python2.7.10, selenium3.141.0, pytest4.6.6, pytest-html1.22.0, Windows-7-6.1.7601-SP1 特点:- 二次封装了s ...

  10. python argparse总结

    python2.7废除optparse,原因:http://code.google.com/p/argparse/ 说了半天好像是重开了个小号练级 抓紧写下来一会又得忘了 用法: import arg ...

随机推荐

  1. How to write a professional email?

    Advantages and Disadvantages of Email communication compared with Face-To-Face communication:   Emai ...

  2. 创建Cordova项目 报错Error: Unhandled "error" event

    cordova版本7.0以上版本 创建cordova项目错误信息 Error: Unhandled "error" event. (  Error from Cordova Fet ...

  3. html前端学习

    html : 1.相当于没有穿衣服的人,一套浏览器认识的规则, 2.开发者: 学习html规则 开发后台程序: -写html文件(充当模板) -数据库获取数据,然后替换到html文件的指定位置(web ...

  4. 设计模式(18)--Memento(备忘录模式)--行为型

    作者QQ:1095737364    QQ群:123300273     欢迎加入! 1.模式定义: 备忘录模式又叫做快照模式(Snapshot Pattern)或Token模式,是对象的行为模式. ...

  5. BZOJ3601 一个人的数论

    Description 定义 \[ f_k(n)=\sum_{\substack{1\leq i\leq n\\gcd(i,n)=1}}i^k \] 给出\(n=\prod_{i=1}^w p_i^{ ...

  6. 关于Mysql数据库的知识总结

    2017年6月8日,天气阴.心情晴. 连续做梦两个晚上了,昨晚竟然梦见一个很长时间不联系的初中同学了,早上上班的路上聊了聊.女孩现在出差在贵州,风景秀美的地方.我说“你现在生活很滋润”.女孩说“那是你 ...

  7. Java基础笔记(3) 进制与进制转换

    ---恢复内容开始--- 进制 在一般生活中,我们一直在应用的十进制,就是逢十进一,而今天我们要接触的是,计算机编程常用的进制!首先我们要知道,计算机内部运算采用的是二进制,也就是逢二进制! 1.什么 ...

  8. [转]SQL SERVER 2008 登陆失败(SQL和windows都没有对应的权限)

    转自:http://www.cnblogs.com/zerocc/p/3425431.html 昨天在测试一些权限今天早上来就发现SQL SERVER 登陆不上去,报错为: 用户登陆失败:消息 184 ...

  9. 解决webview调用 goBack() 返回上一页自动刷新闪白的情况

    问题是:重写了onKeyDown()方法使其goBack(),但是遇到的问题是,每次进入webview再次返回原始页面的时候,中间会有一个闪白的出现. 试了好多网上的方法,发现都是扯淡. 后来意识到, ...

  10. 使用Tomcat部署应用

    概述 一个简单的web项目下载地址:https://files.cnblogs.com/files/Mike_Chang/hello.rar Tomcat部署应用三种方法. 方法一 将一个WAR文件或 ...