argparse学习

argparse,输入参数,命令行交互

import argparse

if __name__ == '__main__':
    parser = argparse.ArgumentParser(description=__doc__)
    parser.add_argument("--baud", "-b", dest="BAUDATE", type=int, default=115200, help="help - dest是实际使用的参数名,可选参数")
    parser.add_argument("--port", required=True, help="Communication interface, 若没有dest,则使用--x或-x带的参数,必输入参数")
    parser.add_argument("--verbose", action="store_true", default=False, help="bool变量,默认false,匹配到之后是true")

    args = parser.parse_args()

    #有dest,参数据使用的是dest的值
    print(args.BAUDATE)
    #没有dest,参数使用的是port,即--带的参数
    print(args.port)
    #使用bool变量,默认false
    if(args.verbose):
        print("verbose is true")
    else:
        print("verbose is false")

description=doc,默认使用命令行提示,如下

usage: main.py [-h] [--baud BAUDATE] --port PORT [--verbose]

其中,中括号内的是可选参数,不使用中括号的是必选参数。

description可以添加自定义消息,提示帮助时会显示此消息

parser = argparse.ArgumentParser(description=__doc__)
dest 是代码中实际使用的参数,
required 是必输入参数
action 可做bool变量输入
python main.py -h
usage: main.py [-h] [--baud BAUDATE] --port PORT [--verbose]

optional arguments:
  -h, --help            show this help message and exit
  --baud BAUDATE, -b BAUDATE
                        help - dest是实际使用的参数名,可选参数
  --port PORT           Communication interface, 若没有dest,则使用--x或-x带的参数,必输入参数
  --verbose             bool变量,默认false,匹配到之后是true
python main.py --port 2 --verbose
115200
2
verbose is true

Guess you like

Origin blog.csdn.net/niu_88/article/details/119273585