Python的argparse 模块处理参数
12
3
4
5
6
7
8
9
10
11
12
13
14
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, 接受参数传递,而且都有默认值。
如果要添加不接受参数传递的选项。
那么用以下方法
1
2
3
parser.add_argument('-a', action="store_true", default=False)
parser.add_argument('-t','--tcp', help='tcp service',action='store_true')
如果要更改参数的数据类型,默认都是字符串,也可以设置为int 或 float
1
2
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)
事实上,最简单的写法是
1
2
3
4
5
6
7
8
parser.add_argument('bar')
parser.add_argument("echo")
args = parser.parse_args()
## 访问传入给bar和echo 的参数,就用以下方法:
print args.bar
print args.echo
比如 以下内容保存到12.py 文件中:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/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
## 输出的参数对应的字符串是有先后次序的
执行结果如下:
页:
[1]