Skip to content Skip to main navigation Skip to footer

Python命令行解析argparse常用语法使用简介

python中的命令行解析最简单最原始的方法是使用sys.argv来实现,更高级的可以使用argparse这个模块。argparse从python 2.7开始被加入到标准库中,所以如果你的python版本还在2.7以下,那么需要先手动安装。

Table of Contents

基本使用

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

参数介绍

上面这个例子是最简单的一个使用例子,功能是把你的输入参数打印到屏幕 。不过对于基本的使用需求,这几行代码应该就已经够用,更加高级的用法可以参考官方文档。

下面介绍下例子代码。

1、导入argparse模块

2、创建解析器对象ArgumentParser,可以添加参数。

description:描述程序

parser=argparse.ArgumentParser(
description=”This is a example program >”)

add_help:默认是True,可以设置False禁用

3、add_argument()方法,用来指定程序需要接受的命令参数

定位参数:

parser.add_argument(“echo>”,help=”echo the string>”)

可选参数:

parser.add_argument(“–verbosity>”, help=”increase output verbosity>”)

在执行程序的时候,定位参数必选,可选参数可选。

add_argument()常用的参数:

dest:如果提供dest,例如dest=”a>”,那么可以通过args.a访问该参数

default:设置参数的默认值

action:参数出发的动作

store:保存参数,默认

store_const:保存一个被定义为参数规格一部分的值(常量),而不是一个来自参数解析而来的值。

store_ture/store_false:保存相应的布尔值

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

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

count:参数出现的次数

parser.add_argument(“-v>”, “–verbosity>”, action=”count>”, default=0, help=”increase output verbosity>”)

version:打印程序版本信息

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

choice:允许的参数值

parser.add_argument(“-v>”, “–verbosity>”, type=int, choices=[0, 1, 2], help=”increase output verbosity>”)

help:参数命令的介绍

如果需要更高级的用法可以参考:

https://docs.python.org/2/library/argparse.html#argument-abbreviations-prefix-matching

原文:http://www.sijitao.net/2000.html

0 Comments

There are no comments yet

Leave a comment

Your email address will not be published.