詳解Python中的add_argument函數

一、參數解析

Python中的 argparse 模塊是一個命令行解析工具。它可以用來解析命令行參數,並生成幫助文檔。在 argparse 中,add_argument函數是最核心的部分。它負責從命令行指定的參數中解析出參數值。add_argument函數主要包括以下幾個方面:

二、add_argument參數窗口

add_argument() 函數定義了命令行選項,如何解析命令行參數以及如何產生幫助信息。下面是 add_argument 中的參數窗口及其說明:

parser.add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest])

1. name or flags

命令行參數的名字或者選項,如 foo 或者 -f, –foo。Positional arguments 和 Optional arguments 中的參數具體寫法:

  • positional argument
  • parser.add_argument("pos_arg", help="positional arg help")
    
  • optional argument
  • parser.add_argument("-o", "--optional_arg", help="optional arg help")
    

2. action

在參數輸入之後的動作,默認為 store。其他可選參數有:

  • store_true, store_false:如果設置了這個值,則存儲 True 或 False。
  • append:將遇到每個參數的值依次存儲在一個列表中。
  • append_const:將 const 值附加到列表中。
  • count:統計在命令行中出現的次數。

3. nargs

命令行參數需要的值數量。可選參數:

  • nargs=N,表示要獲取 N 個值,如 “script.py arg1 arg2 … argN”,這裡 nargs=3。
  • nargs=?,表示要獲取 0 或 1 個值。
  • nargs=’*’, 表示獲取 0 或多個值。(這個是可以省略的)
  • nargs=’+’,表示獲取 1 或多個值。

4. const

用於一些 action 和 nargs 參數的常量值。默認是 None。

5. default

在命令行沒有指定參數時,默認參數的值。

6. type

命令行參數轉換為的類型。默認是 None。

7. choices

命令行參數可選的值列表。

8. required

命令行參數是否必需。默認是 False。

9. help

參數描述信息。

10. metavar

在使用幫助文檔時,參數的展示名稱。意思就是輸出的時候,以什麼字樣輸出

11. dest

在使用 parse_args() 解析參數時,參數的名稱,默認是 None。

三、add_argument_resolvers

用於自定義解析參數的選項,它允許將參數解析器註冊到ArgParser實例中,以添加或修改參數解析的邏輯層。add_argument_resolvers()期望一個可迭代對象作為參數,其中每個元素都是一個解析器。以下示例演示了如何使用 add_argument_resolvers() 來註冊一個檢查文件是否存在的解析器:

import argparse
import os

class FileExistAction(argparse.Action):
    def __call__(self, parser, namespace, values, option_string=None):
        if not os.path.exists(values):
            parser.error(f"file '{values}' does not exist")
        setattr(namespace, self.dest, values)

parser = argparse.ArgumentParser()
parser.add_argument('--input', action=FileExistAction, help='input file')

args = parser.parse_args()

四、add_arguments函數

add_arguments是add_argument的變形,它迭代着接收 argument groups 並一次性將它們添加到 ArgumentParser 對象中。例如:

parser = argparse.ArgumentParser()

group = parser.add_argument_group('Group 1')
group.add_argument(...)

group = parser.add_argument_group('Group 2')
group.add_argument(...)

五、結尾

以上就是Python中 add_argument 函數的詳解。在 argparse 模塊中,add_argument函數是實現命令行解析工具的核心部分,了解其參數和使用方法對命令行應用開發非常重要。

原創文章,作者:DJEHW,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/313343.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
DJEHW的頭像DJEHW
上一篇 2025-01-07 09:43
下一篇 2025-01-07 09:43

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29

發表回復

登錄後才能評論