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
反正有覆盖吗?
更换
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']