码迷,mamicode.com
首页 > 编程语言 > 详细

XiaoKL学Python(D)argparse

时间:2015-04-23 12:49:07      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:

该文以Python 2为基础。

1. argparse简介

argparse使得编写用户友好的命令行接口更简单。

argparse知道如何解析sys.argv。

argparse 模块自动生成 “帮助” 信息和 “使用” 信息。

当用户使用了错误的参数,argparse则报错。

2. argparse的使用

A) 使用argparse的第一步需要 创建ArgumentParser对象。

ArgumentParser对象将持有所有的解析命令的必要信息。

B) add_argument() 添加 关于程序参数的信息。

C) ArgumentParser对象使用 方法parse_args() 来解析参数。该方法检查命令行,将每个参数转换为

合适的类型,然后调用合适的Action。

3. ArgumentParser对象

创建新的ArgumentParser对象,所有的参数应该以 keyword arguments 进行传参。

1 class argparse.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: The name of the program (程序的名字)

usage: 描述如何使用程序。

description: 在 程序帮助 前面显示的文本。(默认:None)

epilog: 

parents:

formatter_class:

prefix_chars:

fromfile_prefix_chars:

argument_default:

conflict_handler:

add_help:

 

4. add_argument() 方法

1 ArgumentParser.add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices]
[, required][, help][, metavar][, dest])

 

5. Demo: ArgParseDemo.py

 1 from __future__ import print_function
 2 import argparse
 3 
 4 
 5 def main():
 6     parser = argparse.ArgumentParser()
 7     parser.add_argument(bar, nargs=?)
 8     parser.add_argument(foo, nargs=?)
 9     args = parser.parse_args()
10     print("foo: %s" % args.foo)
11     print("bar: %s" % args.bar)
12 
13 if __name__ == __main__:
14     main()

运行该脚本如下: 

$ python ArgParseDemo.py ooo pp

foo: pp

bar: ooo

 

 


Reference

1. https://docs.python.org/2/library/argparse.html

 

XiaoKL学Python(D)argparse

标签:

原文地址:http://www.cnblogs.com/cwgk/p/4448339.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!