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