import argparse

USAGE = """ %prog -q phylogroup -o out_file, you shall provide the phyloname of query """

parser = argparse.ArgumentParser(description = USAGE)

parser.add_argument('-o', "--output", default = "test_result.txt")
parser.add_argument("-q", "--query", default = "CD12")


args = parser.parse_args()

print args.output
print args.query

这个例子中设置了两个选项参数-o 和 -q, 接受参数传递,而且都有默认值。


如果要添加不接受参数传递的选项。

那么用以下方法

parser.add_argument('-a', action="store_true", default=False)

parser.add_argument('-t','--tcp', help='tcp service',action='store_true')


如果要更改参数的数据类型,默认都是字符串,也可以设置为int 或 float

parser.add_argument('-p',--port', type=int, help="use a number as port")
parser.add_argument("square", help="display a square of a given number", type=int)

事实上,最简单的写法是

parser.add_argument('bar')
parser.add_argument("echo")
args = parser.parse_args()

## 访问传入给bar和echo 的参数,就用以下方法:

print args.bar
print args.echo


比如 以下内容保存到12.py 文件中:

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

import argparse

USAGE = """ %prog -q phylogroup -o out_file, you shall provide the phyloname of query """

parser = argparse.ArgumentParser(description = USAGE)

parser.add_argument("bar")
parser.add_argument("echo")


args = parser.parse_args()


print args.echo
print args.bar

## 输出的参数对应的字符串是有先后次序的

执行结果如下:

Python的argparse 模块处理参数_第1张图片