python模块 argparse
程序员文章站
2024-02-03 18:21:28
...
直接看例子:
例1
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--verbosity", help="increase output verbosity")
args = parser.parse_args()
if args.verbosity:
print("verbosity turned on")
第三行创建了一个对象
第四行 add_argument 添加一个参数 “–verbosity” help属性里的内容将在用户使用–help时对此参数给出说明。
第五行 parse_args() 返回一些parser里的数据(比如获得的参数)
if判断是否有参数传入
例2
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--verbose", help="increase output verbosity",
action="store_true")
args = parser.parse_args()
if args.verbose:
print("verbosity turned on")
与例1不同的地方在于add_argument方法多了一个关键字action,它的值为"store_true"。这表示如果参数中有这个选项,args.verbose的值为真,否则为假。这使得这个选项不是请求一个数值,而是一个存在与否的选项。
parser.add_argument("-v", "--verbosity", action="count",
help="increase output verbosity")
“-v”或"–verbosity"出现几次,args.verbosity记为几
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("x", type=int, help="the base")
parser.add_argument("y", type=int, help="the exponent")
parser.add_argument("-v", "--verbosity", action="count", default=0)
args = parser.parse_args()
answer = args.x**args.y
if args.verbosity >= 2:
print("{} to the power {} equals {}".format(args.x, args.y, answer))
elif args.verbosity >= 1:
print("{}^{} == {}".format(args.x, args.y, answer))
else:
print(answer)
最后一个例子
import argparse
parser = argparse.ArgumentParser(description="calculate X to the power of Y")
group = parser.add_mutually_exclusive_group()
group.add_argument("-v", "--verbose", action="store_true")
group.add_argument("-q", "--quiet", action="store_true")
parser.add_argument("x", type=int, help="the base")
parser.add_argument("y", type=int, help="the exponent")
args = parser.parse_args()
answer = args.x**args.y
if args.quiet:
print(answer)
elif args.verbose:
print("{} to the power {} equals {}".format(args.x, args.y, answer))
else:
print("{}^{} == {}".format(args.x, args.y, answer))
上一篇: 机器学习笔记(2)-决策树