Python--命令行解析库argparse的使用

一、导入argparse模块

import argparse

python2.7后自带argparse库,直接导入即可

二、创建解析器对象(可以添加参数)

parser = argparse.ArgumentParser()

初始化这个类,可以选择添加参数(不添加也可以)

打开源码看到
这里写图片描述

prog: 程序的名字(默认为sys.argv[0])

usage: 使用消息 (默认自动从参数中生成)

description: 描述程序用途(help之前信息)

epilog: 结语(help之后信息)

parents: ArgumentParser父辈对象,它的arguments选项会被包含到新ArgumentParser对象中

formatter_class:help信息的输出格式

prefix_chars:参数前缀(默认为’-‘)

fromfile_prefix_chars: 文件名前的前缀字符(默认None)

argument_default: 全局参数的默认值

conflict_handler:指示处理冲突字符串(默认为”error”)

add_help: 显示-h/-help信息 (设置为Falses时不显示)

三、add_argument方法

这里写图片描述

add_argument方法的说明: 如果该方法没有设置位置参数,或者设置了一个不像可选参数的字符串,则解析为一个位置参数

1. 位置参数

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("echo",help="echo the string")
args=parser.parse_args()

运行结果:

$ python test.py -h
usage: test.py [-h] echo

positional arguments:
  echo        echo the string

optional arguments:
  -h, --help  show this help message and exit

2.可选参数

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--output",help="output name")
parser.add_argument("-v","--version",help="print version")
args=parser.parse_args()

运行结果:

$ python test.py -h
usage: test.py [-h] [--output OUTPUT] [-v VERSION]

optional arguments:
  -h, --help            show this help message and exit
  --output OUTPUT       output name
  -v VERSION, --version VERSION
                        print version

3. add_argument()常用的参数

3.1 action

默认为store

store_const:值存放在const中

store_true和store_false,值存为True或False

append:将值保存在一个列表中

append_const:将一个定义在参数规格中的值(常量)保存在一个列表中

3.2 default

设置参数的默认值

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-e",default="Init str")
args=parser.parse_args()
print args.e

运行结果:

$ python test.py
Init str

3.3 type

把从命令行输入的结果转成设置的类型

3.4 help

参数命令的介绍

四、解析参数

用parse_args()方法的返回值为namespace

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-e",default="Init str")
args=parser.parse_args()
print args
print args.e

运行结果:

$ python test.py 
Namespace(e='Init str')
Init str

便可以处理参数了

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值