欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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))

详细内容请看官方文档
https://docs.python.org/3/howto/argparse.html#id1

相关标签: Python模块