3

例えば:

import argparse

parser = arparse.ArgumentParser()
# parser.add_argument(...) ...
args = parser.parse_args(args_list)

問題は、parser.parse_argsでエラーが発生した場合に自動的に終了することですargs_list。代わりに、より友好的な例外を発生させる設定はありますか? SystemExitそれを回避する方法がある場合、必要なエラーメッセージをキャッチして抽出する必要はありません。

4

1 に答える 1

7

あなたが使用することができます

args, unknown = parser.parse_known_args(args_list)

次に、不明な引数は単純に に返されunknownます。

例えば、

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--bar', action='store_true')
parser.add_argument('cheese')
args, unknown = parser.parse_known_args(['--swallow', 'gouda', 'african'])
print(args)
# Namespace(bar=False, cheese='gouda')

print(unknown)
# ['--swallow', 'african']
于 2013-04-14T22:14:02.717 に答える