當你通過ArgumentParser()創建一個參數解析器并在執行程序帶有-h參數時,你将會看到系統生成的自動幫助信息,這些信息用于幫助用戶了解這些參數的用意和用法。默認情況下,位置參數和條件參數會被分為兩個分組,例如,下面是一個簡單的腳本(example.py)以及這個腳本運行python example.py -h的輸出。
import argparse
parser = argparse.ArgumentParser(description='Simple example')
parser.add_argument('name', help='Who to greet', default='World')
parser.add_argument('--bar_this')
parser.add_argument('--bar_that')
parser.add_argument('--foo_this')
parser.add_argument('--foo_that')
args = parser.parse_args()
usage: example.py [-h] [--bar_this BAR_THIS] [--bar_that BAR_THAT]
[--foo_this FOO_THIS] [--foo_that FOO_THAT]
name
Simple example
positional arguments:
name Who to greet
optional arguments:
-h, --help show this help message and exit
--bar_this BAR_THIS
--bar_that BAR_THAT
--foo_this FOO_THIS
--foo_that FOO_THAT
某些情況下,你想要将參數劃分到進一步的概念分組中,以便幫助你的用戶。例如,你可能希望所有的輸入選項在一個分組中,所有的輸出格式選項在另外一個分組中。上面的例子可以按照前綴(--foo_或者--bar_)調整分組。
import argparse
parser = argparse.ArgumentParser(description='Simple example')
parser.add_argument('name', help='Who to greet', default='World')
# 創建兩個分組
foo_group = parser.add_argument_group(title='Foo options')
bar_group = parser.add_argument_group(title='Bar options')
# 添加參數到這些分組中
foo_group.add_argument('--bar_this')
foo_group.add_argument('--bar_that')
bar_group.add_argument('--foo_this')
bar_group.add_argument('--foo_that')
args = parser.parse_args()
上面的代碼運行python example.py -h 後的生成的輸出是:
usage: example.py [-h] [--bar_this BAR_THIS] [--bar_that BAR_THAT]
[--foo_this FOO_THIS] [--foo_that FOO_THAT]
name
Simple example
positional arguments:
name Who to greet
optional arguments:
-h, --help show this help message and exit
Foo options:
--bar_this BAR_THIS
--bar_that BAR_THAT
Bar options:
--foo_this FOO_THIS
--foo_that FOO_THAT
|
有話要說...