天天看點

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,預設使用指令行提示,如下

其中,中括号内的是可選參數,不使用中括号的是必選參數。

description可以添加自定義消息,提示幫助時會顯示此消息

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