2

私はこのようなクラスを持っています

import sys

class ACommand(object):

    @classmethod
    def cmd(cls, argv=sys.argv):
        " Executes the command. "
        pass

これを Sphinx で文書化するsys.argvと、現在の値に展開され、次の署名のようなものが生成されます

classmethod cmd(argv=['/path/to/sphinx-build', '-b', 'html', '-d', '_build/doctrees', '.', '_build/html'])

sys.argv拡張よりもドキュメントにある方が便利だと思います。どうすればこれを達成できますか?

4

1 に答える 1

0

次のようなプロキシ オブジェクトを作成できます。

class ListProxy(object):
    def __init__(self, l):
        self.list = l
    def __getitem__(self, i):
        return self.list[i]

その後

@classmethod
def cmd(cls, argv=ListProxy(sys.argv)):
    " Executes the command. "

または、もっと簡単にできます

@classmethod
def cmd(cls, argv=None):
    " Executes the command. "
    if argv is None:
        argv = sys.argv
于 2012-10-02T10:22:03.373 に答える