首頁  >  文章  >  後端開發  >  如何在 Python 中使用 argparse 將清單作為命令列參數處理?

如何在 Python 中使用 argparse 將清單作為命令列參數處理?

Linda Hamilton
Linda Hamilton原創
2024-10-27 17:57:30913瀏覽

How to Handle Lists as Command-Line Arguments with argparse in Python?

使用 argparse 處理清單作為命令列參數

在 Python 中,argparse 模組有助於解析命令列參數。使用清單作為參數時,了解適當的選項至關重要。

nargs

一種方法是使用 nargs,它指定一個物件接受的參數數量。選項。預設情況下,nargs=1 接受單一參數。但是,使用 nargs=' ' 或 nargs='*' 允許多個參數。

<code class="python">parser.add_argument('-l', '--list', nargs='+', help='Set flag')</code>

action='append'

另一個選擇是 action='append '。這種方法將每個遇到的參數附加到列表中,而不是將它們收集在單一參數中。

<code class="python">parser.add_argument('-l', '--list', action='append', help='Set flag')</code>

避免 type=list

相反,使用 type=list通常不建議與 argparse 一起使用。它將每個參數解釋為一個列表,從而產生一個列表列表。

示範

提供的程式碼示範了這些選項的用法:

<code class="python">import argparse

parser = argparse.ArgumentParser()

# Demonstration with nargs
parser.add_argument('--nargs', nargs='+')

# Demonstration with action='append'
parser.add_argument('--append-action', action='append')

for _, value in parser.parse_args()._get_kwargs():
    if value is not None:
        print(value)</code>

輸出:

輸出:
['1234', '2345', '3456', '4567']

['1234', '2345', '3456', '4567']
輸出:

輸出:
  • 假設使用python arg.py --nargs 1234 2345 3456 4567 呼叫腳本,則nargs 的輸出將是:
  • 或者,使用python arg.py --append-action 1234 --append -action 2345 --append-action 3456 --append-action 4567 呼叫腳本將產生:
準則對於簡單的使用者互動,請考慮nargs。 當參數可以與位置參數混合時,或當參數的確切數量時,首選 Action='append'不是預先決定的。 避免使用 type=list,因為它會導致不必要的清單清單結構。

以上是如何在 Python 中使用 argparse 將清單作為命令列參數處理?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn