argparse模块

官方文档:https://docs.python.org/3/howto/argparse.html#introducing-positional-arguments

argparse 是一个命令行参数解析模块
  parser = argparse.ArgumentParser()  #创建参数分析器
  parser.description = ""  #命令说明信息
  
parser.add_argument("")   #设置参数 可以指定type、help、choices、count
  parser.parse_args()    


测试文件test.py
import argparse
# argparse 是一个命令行参数解析模块
# 官方文档https://docs.python.org/3/howto/argparse.html#introducing-positional-arguments

parser = argparse.ArgumentParser()
parser.description = "喂我两个数字,我就吐出他们的乘积"
parser.add_argument("-a", "--ParA", help="我是A,请将我设置为整数型", type=int, choices=[0, 1, 2, 3])
parser.add_argument("-b", "--ParB", help="我是B,请将我设置为整数型", type=int, choices=[5, 6, 7, 8])
args = parser.parse_args()
if args.ParA:
    print("我是参数A,我的值是{}".format(args.ParA))
if args.ParB:
    print("我是参数B,我的值是{}".format(args.ParB))
if args.ParB and args.ParA:
    print("嗯,好吃!积是", args.ParA*args.ParB)

执行代码测试:

python test.py -a 3 -b 5

python test.py --ParA 4 -b 5

python test.py --help

 

测试 action

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("square", type=int,
                    help="display a square of a given number")
parser.add_argument("-v", "--verbosity", action="count",
                    help="increase output verbosity")
args = parser.parse_args()
answer = args.square**2

# bugfix: replace == with >=
if args.verbosity >= 2:
    print("the square of {} equals {}".format(args.square, answer))
elif args.verbosity >= 1:
    print("{}^2 == {}".format(args.square, answer))
else:
    print(answer)

执行:

python test.py 4 

python test.py 4 -v

python test.py 4 --verbosity

python test.py 4 -vv

python test.py 4  -vvv

python test.py 4 -v --verbosity

 

posted @ 2021-07-01 11:30  zk01  阅读(46)  评论(0编辑  收藏  举报