Python Argparse使用说明

时间:2016-07-25 09:55:03

标签: python argparse

我正在尝试编写一个可以解析1或2个ip地址的函数。一个搜索项目。

For example: ./system.py 172.16.19.152,172.16.19.153 model\ name
Output:
Search term: model name
Server: 172.16.19.152
Results:
Processor 0:
model name  : Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
Server: 172.16.19.153
Results:
Processor 0:
model name  : Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz

如何通过argparse获取此使用说明:

 usage:./system.py {IP}[,{IP}] {SEARCH\ TERM}

2 个答案:

答案 0 :(得分:2)

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('ips',metavar='IP',nargs='+')
parser.add_argument('search_term',metavar='SEARCH\\ TERM',nargs=1)

metavar关键字将用于您的计划的使用文字。双反斜杠用于转义SEARCH\ TERM参数的单反斜杠字符。通过调用parser.parse_args(),返回的字典将包含您解析的参数,可以像这样:

args = parser.parse_args()
args.ips
args.search_term

nargs关键字将告诉您要传递给程序的此类参数的数量。

+表示至少有一个,1表示要传递的一个参数。

答案 1 :(得分:0)

要恢复,您可以使用argparse,如下所示。

parser = argparse.ArgumentParser()
parser.add_argument('--IP', nargs=2)
parser.add_argument('--TERM', nargs=1)