中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python命令行解析器argparse怎么使用

發布時間:2022-01-04 17:11:11 來源:億速云 閱讀:144 作者:iii 欄目:開發技術

這篇文章主要講解了“Python命令行解析器argparse怎么使用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Python命令行解析器argparse怎么使用”吧!

    第1章 argparse簡介

    1.1 解析

    argparse 模塊是 Python 內置的一個用于命令項選項與參數解析的模塊,argparse 模塊可以讓人輕松編寫用戶友好的命令行接口。

    argparse能夠幫助程序員為模型定義參數、通過sys.argv 解析命令行參數。模塊還會自動生成幫助和使用手冊,并在用戶給程序傳入無效參數時報出錯誤信息。

    1.2 argparse定義三步驟

    (1)創建一個命令行解析器對象——創建 ArgumentParser() 對象

    (2)給解析器添加命令行參數   ——調用add_argument() 方法添加參數

    (3)解析命令行的參數              ——使用 parse_args() 解析添加的參數

    1.3  代碼示例

    # 導入庫
    import argparse
     
    # 1. 定義命令行解析器對象
    parser = argparse.ArgumentParser(description='test')
     
    # 2. 添加命令行參數
    parser.add_argument('--sparse', action='store_true', default=False, help='GAT with sparse version or not.')
    parser.add_argument('--seed', type=int, default=72, help='Random seed.')
    parser.add_argument('--epochs', type=int, default=10000, help='Number of epochs to train.')
     
    # 3. 從命令行中結構化解析參數
    args = parser.parse_args()
    print(args.sparse)
    print(args.seed)
    print(args.epochs)

    第2章 參數詳解

    2.1 創建一個命令行解析器對象:ArgumentParser() 

    使用 argparse 的第一步是創建一個 ArgumentParser 對象:

    parser = argparse.ArgumentParser(description='test')

    ArgumentParser 實例化對象將包含把命令行解析成 Python 數據類型所需的全部信息,

    (1)描述description

    大多數對 ArgumentParser 構造方法的調用都會使用 description= 關鍵字參數。

    這個參數簡要描述這個程度做什么以及怎么做。

    在幫助消息中,這個描述會顯示在命令行用法字符串和各種參數的幫助消息之間。

    2.2 為命令行添加參數: add_argument() 方法

    (1)添加命令行參數的案例

    給一個 ArgumentParser 添加程序參數信息,是通過調用 add_argument() 方法完成的。

    通常,這些調用指定 ArgumentParser 如何獲取命令行字符串并將其轉換為對象。

    這些信息在 parse_args() 調用時被存儲在ArgumentParser實例化對象中,以供后續使用。

    例如:

    parser.add_argument('--sparse', action='store_true', default=False, help='GAT with sparse version or not.')
    parser.add_argument('--seed', type=int, default=72, help='Random seed.')
    parser.add_argument('--epochs', type=int, default=10000, help='Number of epochs to train.')

    add_argument() 方法定義如何解析命令行參數的呢?

    (2)add_argument() 方法定義如何解析命令行參數

    ArgumentParser.add_argument(name or flags...[, action][, nargs][, const][, default][, type][,

    choices][, required][, help][, metavar][, dest])

    每個參數解釋如下:

    name or flags - 普通參數或flag參數選項參數的名稱或標簽,例如 foo 或者 -f, --foo。Flag參數不需要指定參數值,只需要帶有參數名即可。

    action - 命令行遇到flags參數時的動作。有兩個常見的動作,store_true:設定flag參數為true;store_false:設定flag參數為False。

    nargs - 應該讀取的命令行參數個數,可以是具體的數字,或者是?號,當不指定值時對于 Positional argument 使用 default,對于 Optional argument 使用 const;或者是 * 號,表示 0 或多個參數;或者是 + 號表示 1 或多個參數。

    default - 不指定參數時該參數的默認值。

    type - 命令行參數應該被轉換成的數據類型。

    required - 是否為必選參數或可選參數。

    help - 參數的幫助信息,當指定為 argparse.SUPPRESS 時表示不顯示該參數的幫助信息.

    metavar - 在 usage 說明中的參數名稱,對于必選參數,默認就是參數名稱,對于可選參數默認是全大寫的參數名稱。

    dest - 解析后的參數名稱,默認情況下,對于可選參數選取最長的名稱,中劃線轉換為下劃線.

    choices - 參數可允許的值的一個容器。

    const - action 和 nargs 所需要的常量值。

    store_const,表示賦值為const;

    append,將遇到的值存儲成列表,也就是如果參數重復則會保存多個值;

    append_const,將參數規范中定義的一個值保存到一個列表;

    count,存儲遇到的次數;此外,也可以繼承 argparse.Action 自定義參數解析;

    2.3 解析命令行的參數:parse_args() 

    ArgumentParser對象通過 parse_args() 方法解析命令行的參數。

    它將檢查命令行中每個參數,轉換為適當的數據類型,然后調用相應的操作,并把參數結構化后存放在對象args中。

    args = parser.parse_args()

    在腳本中,通常 parse_args() 會被不帶參數調用,而 ArgumentParser 將自動從 sys.argv 中確定命令行參數。

    2.4 命令行參數的輸入

    xxx --sparse --seed 0  --epochs 1000

    其中,--seed和--epochs為普通參數,需要指定具體的數據。

    --sparse為flag參數,不需要指定具體的值,指定該參數名后的具體數值,取決于其action的定義。

    如果action = store_true時,--sparse表明參數值設定為true

    如果action = store_false時,--sparse表明參數值設定為false

    2.5 命令行參數的使用

    print(args.sparse)
    print(args.seed)
    print(args.epochs)

    感謝各位的閱讀,以上就是“Python命令行解析器argparse怎么使用”的內容了,經過本文的學習后,相信大家對Python命令行解析器argparse怎么使用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    阜新市| 清徐县| 兖州市| 若尔盖县| 大连市| 永年县| 大新县| 新乐市| 上杭县| 大厂| 额尔古纳市| 衡阳县| 广丰县| 许昌县| 苍山县| 靖州| 保亭| 长治市| 张北县| 正定县| 东城区| 班玛县| 工布江达县| 龙里县| 神农架林区| 化州市| 土默特右旗| 临城县| 古交市| 鲁山县| 吴桥县| 合江县| 垣曲县| 临沭县| 勐海县| 资溪县| 台江县| 介休市| 浦东新区| 马尔康县| 丰镇市|