背景
我有一个脚本parseargs
用于部分解析输入。
parser = argparse.ArgumentParser()
parser.add_argument("-c", action="store_true")
nspc = parser.parse_known_args()
使用 parseargs 的原因是允许 -c 选项出现在输入中的任何位置。我只想解析这个选项,然后在代码中我自己做额外的解析。这样做的原因是,脚本接受来自配置文件的大量参数,即 myscript.py 直到运行时才知道这些参数。
问题我遇到的问题是,一些参数可能以字母“c.”开头,所以如果我说
$ myscript.py "some argument" -cdef
我得到错误
myscript.py:错误:参数-c:忽略显式参数'ef'
因为我说parser.add_argument("-c", ...
我希望它-c
会被解析但-cdef
不会。显然,-c
是一个可选参数。
我如何告诉解析器这-c
是一个选项但-cdef
不是?