Python2.7 argparse.parse_known_args 解析错误

lia*_*ang 1 python python-2.7 argparse

背景 我有一个脚本,我用它parseargs来部分解析输入。

parser = argparse.ArgumentParser()
parser.add_argument("-c", action="store_true")
nspc = parser.parse_known_args()
Run Code Online (Sandbox Code Playgroud)

使用 parseargs 的原因是允许 -c 选项出现在输入中的任何位置。我只想解析这个选项,然后在代码中我自己进行额外的解析。原因是,脚本从配置文件中接受大量参数,即 myscript.py 直到运行时才知道这些参数。

我遇到的问题是,某些参数可能以字母“c.”开头,所以如果我

$ myscript.py "some argument" -cdef
Run Code Online (Sandbox Code Playgroud)

我收到错误

myscript.py:错误:参数-c:忽略显式参数“ef”

因为我说过parser.add_argument("-c", ...我希望它-c会被解析,但-cdef不会。显然,-c是一个可选参数。

我如何告诉解析器这-c是一个选项但-cdef不是?