import argparse
parser = argparse.ArgumentParser(description='Process some integers.')
ArgumentParser.add_argument(name or flags…[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest])
parser.add_argument('integers', metavar='N', type=int, nargs='+',
help='an integer for the accumulator')
parser.add_argument('--sum', dest='accumulate', action='store_const',
const=sum, default=max,
help='sum the integers (default: find the max)')
1.optional arguments 参数在使用时必须使用参数名,然后是参数具体数值,设置可以是无序的。
parser.add_argument('-f', '--foo')
2.positional arguments 参数按照参数设置的先后顺序对应读取,实际中不用设置参数名,必须有序设计。
parser.add_argument('bar')
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('--foo')
>>> parser.parse_args('--foo 1'.split())
Namespace(foo='1')
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('--foo', action='store_true')
>>> parser.add_argument('--bar', action='store_false')
>>> parser.add_argument('--baz', action='store_false')
>>> parser.parse_args('--foo --bar'.split())
Namespace(foo=False, bar=True, baz=True)
参数的数量,有如下几个设定:
默认值
参数类型, 默认是str
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('foo', type=int)
>>> parser.add_argument('bar', type=open)
>>> parser.parse_args('2 temp.txt'.split())
Namespace(bar=<_io.TextIOWrapper name='temp.txt' encoding='UTF-8'>, foo=2)
是否为必选参数, 默认是false
参数别名
参数的帮助信息,即解释信息
>>> parser.add_argument('--foo', action='store_true',
help='foo the bars before frobbling')
帮助信息中显示的参数名称
parser = argparse.ArgumentParser()
parser.add_argument('-m', '--msg_p', action='store', dest="msg_path",
help="path")
parser.add_argument('-g', action='store', dest="graph",
help="input graph")
parser.add_argument('-p', action='store', dest="prizes",
help="input prizes")
parser.add_argument('-t', action='store', dest="terminals", default=None,
help="input terminals")
parser.add_argument('-o', action='store', dest="output", default='pcsf.graphml',
help="graphML format to cytoscape")
args = parser.parse_args()