Argparse 命令行解析模块常用参数

Argparse模块可以轻松编写用户友好的命令行界面。该程序定义了它需要的参数,argparse 并将找出如何解析这些参数sys.argv。该argparse 模块还会自动生成帮助和用法消息,并在用户给出程序无效参数时发出错误,该模块可以替代sys.argv用法。

argparse.ArgumentParser 对象参数如下:
    prog: 一般默认不改,使用脚本名称作为该参数值
    usage:该参数是提示脚本用法,定义好后出现在脚本执行 python script.py --help 的下一行
    description: 该参数输入说明信息到--help界面的 可选参数上方
    epilog: 该参数输入说明信息到--help界面的 可选参数 下方
    version: 自定义版本号
add_argument() 方法参数如下:
    name or flags : 一个字符串选项
    help: 提示出现的帮助信息
    type:设置参数的数据类型
    default: 设置参数的默认值

  

#!/usr/bin/env python
#--* coding: utf-8 -*-

import sys
reload(sys)
sys.setdefaultencoding(‘utf-8‘)

import argparse

parser = argparse.ArgumentParser(usage="python piltest.py {‘-h‘|‘--help‘|‘-v‘|‘--classes‘|‘--name‘}",
                                 description="使用下列参数输出学生信息",
                                 epilog="分类输出学生信息",
                                 version="test: 1.0")

parser.add_argument(‘-c‘, ‘--classes‘, help=‘班级名称‘, default=1, type=int)
parser.add_argument(‘-n‘, ‘--name‘, help=‘学生名字‘, default=‘jwh‘,type=str)

args = parser.parse_args()

student_class = args.classes
student_name = args.name
print "该学生姓名为 %s, 在%s 班" %(student_name, student_class)

parse_known_args:方法获取Namespace 和参数列表

#!/usr/bin/env python
# --* coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding(‘utf-8‘)
import argparse
parser = argparse.ArgumentParser(usage="python piltest.py {‘-h‘|‘--help‘|‘-v‘|‘--classes‘|‘--name‘}",
                                 description="选项如下:",
                                 epilog="帮助信息到此为止",
                                 version="test: 1.0")
parser.add_argument(‘-m‘, ‘--mode‘, help=‘选择人员{老师或学生}‘, default=‘student‘, type=str)
args, remaining = parser.parse_known_args()
print args,remaining

综合实例:

#!/usr/bin/env python
# --* coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding(‘utf-8‘)
import argparse
parser = argparse.ArgumentParser(usage="python piltest.py {‘-h‘|‘--help‘|‘-v‘|‘--classes‘|‘--name‘}",
                                 description="选项如下:",
                                 epilog="帮助信息到此为止",
                                 version="test: 1.0")
parser.add_argument(‘-m‘, ‘--mode‘, help=‘选择人员{老师或学生}‘, default=‘student‘, type=str)
args, remaining = parser.parse_known_args()
if args.mode.lower() == ‘teacher‘:
    parser.add_argument(‘-s‘, ‘--subject‘, help=‘所教科目‘, default=‘english‘, type=str)
    parser.add_argument(‘-n‘,‘--name‘, help=‘老师名字‘,default=‘derrick‘,type=str)
    args = parser.parse_args()
    teacher_subject = args.subject
    teacher_name = args.name
    print "%s 老师,所教的科学类目是:%s" %(teacher_name, teacher_subject)
elif args.mode.lower() == ‘student‘:
    parser.add_argument(‘-c‘, ‘--classes‘, help=‘班级名称‘, default=1, type=int)
    parser.add_argument(‘-n‘, ‘--name‘, help=‘学生名字‘, default=‘jwh‘, type=str)
    args = parser.parse_args()
    student_class = args.classes
    student_name = args.name
    print "该学生姓名为 %s, 在%s 班" % (student_name, student_class)

原文地址:https://www.cnblogs.com/cpy-devops/p/9287298.html

时间: 2024-10-09 03:29:30

Argparse 命令行解析模块常用参数的相关文章

python:argparse命令行解析模块详解

argparse命令行解析模块学习 import argparse parser = argparse.ArgumentParser() #类似于初始化吧 parser.parse_args() #解析参数 //默认存在-h,--help参数 输出如下 python test.py --help usage: prog.py [-h] optional arguments: -h, --help show this help message and exit 接下来 import argpars

python命令行解析工具argparse模块【1】

argpaser是python中很好用的一个命令行解析模块,使用它我们可以很方便的创建用户友好型命令行程序.而且argparse会自动生成帮助信息和错误信息. 一.示例 例如下面的例子,从命令行中获取几个整数,然后获取它们的和或者最大值. import argparse parser = argparse.ArgumentParser(description='Process some integers.') parser.add_argument('integers', metavar='N'

『Argparse』命令行解析

Python标准库推荐使用的命令行解析模块argparse 还有其他两个模块实现这一功能,getopt(等同于C语言中的getopt())和弃用的optparse.因为argparse是基于optparse,所以用法很类似. import argparse parser = argparse.ArgumentParser() parser.add_argument("-v", "--verbose", help="increase output verbo

python命令行解析工具argparse模块【3】

上一节,我们讲解了ArgumentParser对象,这一节我们将学习这个对象的add_argument()方法. add_argument()方法的定义了如何解析一个命令行参数,每个参数都有各自独立的设置参数. 1.name or flags add_argument()必须知道参数是可选的还是必须的位置参数,第一个传递给add_arguments的参数必须是可选参数或者是位置参数,例如,下面是可选参数. >>> parser.add_argument('-f','--foo') 而位置

转:python命令行解析工具Argparse

转自:http://www.cnblogs.com/jianboqi/archive/2013/01/10/2854726.html 最近在研究pathon的命令行解析工具,argparse,它是Python标准库中推荐使用的编写命令行程序的工具. 以前老是做UI程序,今天试了下命令行程序,感觉相当好,不用再花大把时间去研究界面问题,尤其是vc++中尤其繁琐. 现在用python来实现命令行,核心计算模块可以用c自己写扩展库,效果挺好. 学习了argparse,在官方文档中找到一篇toturia

python之命令行解析工具argparse

以前写python的时候都会自己在文件开头写一个usgae函数,用来加上各种注释,给用这个脚本的人提供帮助文档. 今天才知道原来python已经有一个自带的命令行解析工具argparse,用了一下,效果还不错. argparse的官方文档请看 https://docs.python.org/2/howto/argparse.html#id1 from argparse import ArgumentParser p = ArgumentParser(usage='it is usage tip'

ZMAN的学习笔记之Python篇:命令行解析

ZMAN的学习笔记之Python篇: 1.装饰器 2.函数“可变长参数” 3.命令行解析 注:本文全原创,作者:ZMAN  (http://www.cnblogs.com/zmanone/) 在Python中,对命令行的解析方式不唯一,本文将介绍两种方法:一种是用sys.argv手动设置,另一种是用argparse模块. 一.sys.argv是什么 首先看一个例子: import sys print(len(sys.argv)) for arg in sys.argv: print(arg) 将

cmdline —— 轻量级的C++命令行解析库

平时用C++写一些命令行工具,需要解析命令行的输入参数,这是一项繁琐并且容易出错的工作,我们不应该将主要精力放在这上面,可以考虑使用开源的库,下面的cmdline就是其中非常好用的一款. cmdline介绍 cmdline 是一个非常简单好用的C++命令行解析库,其基于模板,所以使用很简单,写出的代码也很优雅.由于其只包含一个头文件,所以很容易集成到自己的项目中. cmdline项目托管地址Github:https://github.com/tanakh/cmdline cmdline使用 下面

Linux命令行下编辑常用的快捷键

Linux命令行编辑快捷键: history                                   显示命令历史列表 ↑(Ctrl+p)                               显示上一条命令 ↓(Ctrl+n)                               显示下一条命令 !num                                     执行命令历史列表的第num条命令 !!