小编典典

Python argparse 忽略无法识别的参数

all

Optparse,旧版本只是忽略所有无法识别的参数并继续。在大多数情况下,这并不理想,并且在 argparse
中进行了更改。但是在某些情况下,您希望忽略任何无法识别的参数并解析您指定的参数。

例如:

parser = argparse.ArgumentParser()
parser.add_argument('--foo', dest="foo")
parser.parse_args()

$python myscript.py --foo 1 --bar 2
error: unrecognized arguments: --bar

反正有覆盖这个吗?


阅读 182

收藏
2022-05-18

共1个答案

小编典典

代替

args = parser.parse_args()

args, unknown = parser.parse_known_args()

例如,

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--foo')
args, unknown = parser.parse_known_args(['--foo', 'BAR', 'spam'])
print(args)
# Namespace(foo='BAR')
print(unknown)
# ['spam']
2022-05-18