セクションレス構成ファイルを実装するために 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)