3

セクションレス構成ファイルを実装するために ConfigParser.SafeConfigParser をサブクラス化するクラスを作成しました。私が抱えている問題は、予想__getitem__される応答と比較して、予期しないスライスタイプが返されることです。

import ConfigParser

class foo(ConfigParser.SafeConfigParser):
    def __getitem__(self, option):
        return option

class bar(object):
    def __getitem__(self,option):
        return option

a = foo()
b = bar()
print a[:]
print b[:]

私が得たように、その返事は私を困惑させます:

slice(0, 2147483647, None)
slice(None, None, None)

どちらの場合も期待(None, None, None)していたでしょう。たとえば、単純なスライス アクションで作業していた場合、その動作はよく知られていると推測できますlist()が、これにより、 を介してユーザーの意図を判断することが特に難しくなりif option.start is None、前者の場合は失敗します。

この動作を変更するのはどの部分で、代わりにSafeConfigParser受信するにはどうすればよいですか(None, None, None)(0, sys.maxint, None)

4

1 に答える 1