Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获取Python';s OptPasser以-vs形式查看标志_Python_Optparse - Fatal编程技术网

如何获取Python';s OptPasser以-vs形式查看标志

如何获取Python';s OptPasser以-vs形式查看标志,python,optparse,Python,Optparse,我使用optpass处理参数和选项,然后生成一个命令来执行另一个程序 我需要optpass来识别未定义的标志/选项,而不会抛出错误,这样我就可以将它们传递到我正在调用的程序中。我通过将OptionParser子类化来实现: class IFTOptionParser(optparse.OptionParser): def _process_args(self, largs, rargs, values): while rargs: try:

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

我需要optpass来识别未定义的标志/选项,而不会抛出错误,这样我就可以将它们传递到我正在调用的程序中。我通过将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”。

传递“-vs”怎么样。单减号参数应该是单字符后跟一个值。如果您可以使用
argparse
,这正是设计的目的。是的,我感觉答案是使用argparse。但我不想更改代码。“2.7版后已弃用:
optparse
模块已弃用,不会进一步开发;将继续使用
argparse
模块进行开发”