0

我正在使用 optparse 处理参数和选项,然后生成一个命令来执行另一个程序。

我需要 optparse 来识别未定义的标志/选项而不会引发错误,因此我可以将它们传递给我正在调用的程序。我通过继承 OptionParser 来做到这一点:

class IFTOptionParser(optparse.OptionParser):

    def _process_args(self, largs, rargs, values):
        while rargs:
            try:
                optparse.OptionParser._process_args(self,largs,rargs,values)
            except (optparse.BadOptionError,optparse.AmbiguousOptionError), e:
                largs.append(e.opt_str)

但是当我传入这样的标志时,这不起作用: $ foo -vs

它只是传递“-v”

如果我进入 _process_args 并打印出 e.opt_str,我会得到“-v”。

4

0 回答 0