假設(shè)我有以下設(shè)置:parser.add_argument('-v', '--version', help='Print version', action='version', version=VERSION)parser.add_argument('-a', '--analyse', help='Analyse command execution', nargs='*', action='append')該命令analyse接收n要分析的選項(xiàng)。這些選項(xiàng)可能與命令--version和/或--help. 例子:cli --analyse key1 --versioncli --analyse key2 --helpcli --analyse key1 --version key2 --help如果我運(yùn)行 1、2 或 3,而不是繼續(xù)analyse執(zhí)行,而是argparse執(zhí)行:--version 為 1;--help 為 2;--version 為 3;對(duì)于給定的場(chǎng)景,命令以 開(kāi)頭--analyse,我希望隨后的--versionand--help被解釋為選項(xiàng)analyse而不是它們匹配簽名的命令。那可能嗎?
1 回答

慕容3067478
TA貢獻(xiàn)1773條經(jīng)驗(yàn) 獲得超3個(gè)贊
您可以使用argparse.Remainder
(文檔中最后一個(gè)要點(diǎn)中的解釋?zhuān)?/p>
import argparse
VERSION = "1.0"
parser = argparse.ArgumentParser(description='Argparse test')
parser.add_argument('-v', '--version', help='Print version', action='version', version=VERSION)
parser.add_argument('-a', '--analyse', help='Analyse command execution', nargs=argparse.REMAINDER, action='append')
args = parser.parse_args()
if args.analyse:
print(args.analyse)
添加回答
舉報(bào)
0/150
提交
取消